summaryrefslogtreecommitdiff
path: root/.localrepo/dash-2.20.0.tar
blob: a98ab9a1a3737c17cc7f4932b61251df31a439fb (plain)
ofshex dumpascii
0000 64 61 73 68 2d 32 2e 32 30 2e 30 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/....................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 31 35 31 00 20 35 00 00 00 0000000.00000000000.011151..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 64 61 73 68 2d 32 2e 32 30 2e 30 2f 2e 67 69 74 68 75 62 2f 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/.github/............
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0280 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 35 31 31 00 20 35 00 00 00 0000000.00000000000.012511..5...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 64 61 73 68 2d 32 2e 32 30 2e 30 2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 2f 00 00 dash-2.20.0/.github/workflows/..
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0480 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 34 36 00 20 35 00 00 00 0000000.00000000000.014546..5...
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 64 61 73 68 2d 32 2e 32 30 2e 30 2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 dash-2.20.0/.github/workflows/te
0620 73 74 2e 79 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 st.yml..........................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 30 30 32 30 32 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 35 30 00 20 30 00 00 00 0002026.00000000000.016250..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 6e 61 6d 65 3a 20 43 49 0a 6f 6e 3a 20 5b 70 75 73 68 2c 20 70 75 6c 6c 5f 72 65 71 75 65 73 74 name:.CI.on:.[push,.pull_request
0820 5d 0a 70 65 72 6d 69 73 73 69 6f 6e 73 3a 20 7b 7d 0a 6a 6f 62 73 3a 0a 20 20 62 75 69 6c 64 3a ].permissions:.{}.jobs:...build:
0840 0a 20 20 20 20 72 75 6e 73 2d 6f 6e 3a 20 75 62 75 6e 74 75 2d 6c 61 74 65 73 74 0a 20 20 20 20 .....runs-on:.ubuntu-latest.....
0860 73 74 72 61 74 65 67 79 3a 0a 20 20 20 20 20 20 6d 61 74 72 69 78 3a 0a 20 20 20 20 20 20 20 20 strategy:.......matrix:.........
0880 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 31 emacs_version:...........-.'24.1
08a0 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d '...........-.'24.2'...........-
08c0 20 27 32 34 2e 33 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 34 27 0a 20 20 20 20 20 .'24.3'...........-.'24.4'......
08e0 20 20 20 20 20 2d 20 27 32 34 2e 35 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 35 2e 31 27 .....-.'24.5'...........-.'25.1'
0900 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 35 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 ...........-.'25.2'...........-.
0920 27 32 35 2e 33 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 36 2e 31 27 0a 20 20 20 20 20 20 '25.3'...........-.'26.1'.......
0940 20 20 20 20 2d 20 27 32 36 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 36 2e 33 27 0a ....-.'26.2'...........-.'26.3'.
0960 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 37 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 ..........-.'27.1'...........-.'
0980 32 37 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 38 2e 31 27 0a 20 20 20 20 20 20 20 27.2'...........-.'28.1'........
09a0 20 20 20 2d 20 27 32 38 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 39 2e 31 27 0a 20 ...-.'28.2'...........-.'29.1'..
09c0 20 20 20 20 20 20 20 20 20 2d 20 27 32 39 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 .........-.'29.2'...........-.'2
09e0 39 2e 33 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 39 2e 34 27 0a 20 20 20 20 20 20 20 20 9.3'...........-.'29.4'.........
0a00 20 20 2d 20 27 33 30 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 72 65 6c 65 61 73 65 2d ..-.'30.1'...........-.'release-
0a20 73 6e 61 70 73 68 6f 74 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 73 6e 61 70 73 68 6f 74 27 snapshot'...........-.'snapshot'
0a40 0a 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 3a 0a 20 20 20 20 20 20 20 20 20 20 2d 20 65 6d .........include:...........-.em
0a60 61 63 73 5f 76 65 72 73 69 6f 6e 3a 20 27 73 6e 61 70 73 68 6f 74 27 0a 20 20 20 20 20 20 20 20 acs_version:.'snapshot'.........
0a80 20 20 20 20 61 6c 6c 6f 77 5f 66 61 69 6c 75 72 65 3a 20 74 72 75 65 0a 20 20 20 20 73 74 65 70 ....allow_failure:.true.....step
0aa0 73 3a 0a 20 20 20 20 2d 20 75 73 65 73 3a 20 61 63 74 69 6f 6e 73 2f 63 68 65 63 6b 6f 75 74 40 s:.....-.uses:.actions/checkout@
0ac0 76 34 0a 20 20 20 20 20 20 77 69 74 68 3a 0a 20 20 20 20 20 20 20 20 70 65 72 73 69 73 74 2d 63 v4.......with:.........persist-c
0ae0 72 65 64 65 6e 74 69 61 6c 73 3a 20 66 61 6c 73 65 0a 20 20 20 20 2d 20 75 73 65 73 3a 20 70 75 redentials:.false.....-.uses:.pu
0b00 72 63 65 6c 6c 2f 73 65 74 75 70 2d 65 6d 61 63 73 40 6d 61 73 74 65 72 0a 20 20 20 20 20 20 77 rcell/setup-emacs@master.......w
0b20 69 74 68 3a 0a 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3a 20 24 7b 7b 20 6d 61 74 72 69 78 ith:.........version:.${{.matrix
0b40 2e 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 20 7d 7d 0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 52 .emacs_version.}}......-.name:.R
0b60 75 6e 20 74 65 73 74 73 0a 20 20 20 20 20 20 69 66 3a 20 6d 61 74 72 69 78 2e 61 6c 6c 6f 77 5f un.tests.......if:.matrix.allow_
0b80 66 61 69 6c 75 72 65 20 21 3d 20 74 72 75 65 0a 20 20 20 20 20 20 72 75 6e 3a 20 27 6d 61 6b 65 failure.!=.true.......run:.'make
0ba0 20 63 68 65 63 6b 27 0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 52 75 6e 20 74 65 73 74 73 20 28 .check'......-.name:.Run.tests.(
0bc0 61 6c 6c 6f 77 20 66 61 69 6c 75 72 65 29 0a 20 20 20 20 20 20 69 66 3a 20 6d 61 74 72 69 78 2e allow.failure).......if:.matrix.
0be0 61 6c 6c 6f 77 5f 66 61 69 6c 75 72 65 20 3d 3d 20 74 72 75 65 0a 20 20 20 20 20 20 72 75 6e 3a allow_failure.==.true.......run:
0c00 20 27 6d 61 6b 65 20 63 68 65 63 6b 20 7c 7c 20 74 72 75 65 27 0a 00 00 00 00 00 00 00 00 00 00 .'make.check.||.true'...........
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 61 73 68 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/dash.el.............
0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0e80 30 34 34 33 35 30 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 32 32 00 20 30 00 00 00 0443502.00000000000.012422..0...
0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 2d 2d 2d 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 ;;;.dash.el.---.A.modern.list.li
1020 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e brary.for.Emacs..-*-.lexical-bin
1040 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 ding:.t.-*-..;;.Copyright.(C).20
1060 31 32 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 12-2025.Free.Software.Foundation
1080 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 ,.Inc...;;.Author:.Magnar.Sveen.
10a0 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 <magnars@gmail.com>.;;.Maintaine
10c0 72 3a 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 20 3c 62 61 73 69 r:.Basil.L..Contovounesios.<basi
10e0 6c 40 63 6f 6e 74 6f 76 6f 75 2e 6e 65 74 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 32 2e 32 30 l@contovou.net>.;;.Version:.2.20
1100 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 .0.;;.Package-Requires:.((emacs.
1120 22 32 34 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 "24")).;;.Keywords:.extensions,.
1140 6c 69 73 70 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f lisp.;;.URL:.https://github.com/
1160 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d magnars/dash.el..;;.This.program
1180 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 .is.free.software:.you.can.redis
11a0 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 tribute.it.and/or.modify.;;.it.u
11c0 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 nder.the.terms.of.the.GNU.Genera
11e0 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 l.Public.License.as.published.by
1200 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e .;;.the.Free.Software.Foundation
1220 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 ,.either.version.3.of.the.Licens
1240 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 e,.or.;;.(at.your.option).any.la
1260 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 ter.version...;;.This.program.is
1280 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
12a0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,.;;.but.WITHOUT.
12c0 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
12e0 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of.;;.MERCHANTAB
1300 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
1320 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 R.PURPOSE...See.the.;;.GNU.Gener
1340 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 al.Public.License.for.more.detai
1360 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 ls...;;.You.should.have.received
1380 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 .a.copy.of.the.GNU.General.Publi
13a0 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f c.License.;;.along.with.this.pro
13c0 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e gram...If.not,.see.<https://www.
13e0 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 gnu.org/licenses/>...;;;.Comment
1400 61 72 79 3a 0a 0a 3b 3b 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 ary:..;;.A.modern.list.API.for.E
1420 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 53 65 65 20 69 74 73 20 6f 76 65 72 76 69 65 77 20 61 74 20 macs..;;.;;.See.its.overview.at.
1440 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e https://github.com/magnars/dash.
1460 65 6c 23 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d el#functions...;;;.Code:..(eval-
1480 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 when-compile...(unless.(fboundp.
14a0 27 73 74 61 74 69 63 2d 69 66 29 0a 20 20 20 20 28 64 65 66 6d 61 63 72 6f 20 73 74 61 74 69 63 'static-if).....(defmacro.static
14c0 2d 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 20 74 68 65 6e 2d 66 6f 72 6d 20 26 72 65 73 74 20 65 -if.(condition.then-form.&rest.e
14e0 6c 73 65 2d 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 22 45 78 70 61 6e 64 20 74 6f 20 54 48 45 4e lse-forms)......."Expand.to.THEN
1500 2d 46 4f 52 4d 20 6f 72 20 45 4c 53 45 2d 46 4f 52 4d 53 20 62 61 73 65 64 20 6f 6e 20 63 6f 6d -FORM.or.ELSE-FORMS.based.on.com
1520 70 69 6c 65 2d 74 69 6d 65 20 43 4f 4e 44 49 54 49 4f 4e 2e 0a 50 6f 6c 79 66 69 6c 6c 20 66 6f pile-time.CONDITION..Polyfill.fo
1540 72 20 45 6d 61 63 73 20 33 30 20 60 73 74 61 74 69 63 2d 69 66 27 2e 22 0a 20 20 20 20 20 20 28 r.Emacs.30.`static-if'.".......(
1560 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 73 65 78 70 20 73 65 78 70 20 26 72 65 73 74 20 declare.(debug.(sexp.sexp.&rest.
1580 73 65 78 70 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 76 sexp)).(indent.2)).......(if.(ev
15a0 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 29 0a 20 20 al.condition.lexical-binding)...
15c0 20 20 20 20 20 20 20 20 74 68 65 6e 2d 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 ........then-form.........(cons.
15e0 27 70 72 6f 67 6e 20 65 6c 73 65 2d 66 6f 72 6d 73 29 29 29 29 0a 0a 20 20 3b 3b 20 54 4f 44 4f 'progn.else-forms))))....;;.TODO
1600 3a 20 45 6d 61 63 73 20 32 34 2e 33 20 66 69 72 73 74 20 69 6e 74 72 6f 64 75 63 65 64 20 60 67 :.Emacs.24.3.first.introduced.`g
1620 76 27 2c 20 73 6f 20 72 65 6d 6f 76 65 20 74 68 69 73 20 61 6e 64 20 61 6c 6c 0a 20 20 3b 3b 20 v',.so.remove.this.and.all...;;.
1640 63 61 6c 6c 73 20 74 6f 20 60 64 65 66 73 65 74 66 27 20 77 68 65 6e 20 73 75 70 70 6f 72 74 20 calls.to.`defsetf'.when.support.
1660 66 6f 72 20 65 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 69 73 20 64 72 6f 70 70 65 64 2e for.earlier.versions.is.dropped.
1680 0a 20 20 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 67 76 2d 64 65 66 69 6e 65 2d 73 ...(unless.(fboundp.'gv-define-s
16a0 65 74 74 65 72 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 29 29 0a 0a 20 20 3b 3b 20 etter).....(require.'cl))....;;.
16c0 2d 20 32 34 2e 33 20 73 74 61 72 74 65 64 20 63 6f 6d 70 6c 61 69 6e 69 6e 67 20 61 62 6f 75 74 -.24.3.started.complaining.about
16e0 20 75 6e 6b 6e 6f 77 6e 20 60 64 65 63 6c 61 72 65 27 20 70 72 6f 70 73 2e 0a 20 20 3b 3b 20 2d .unknown.`declare'.props....;;.-
1700 20 32 35 20 69 6e 74 72 6f 64 75 63 65 64 20 60 70 75 72 65 27 20 61 6e 64 20 60 73 69 64 65 2d .25.introduced.`pure'.and.`side-
1720 65 66 66 65 63 74 2d 66 72 65 65 27 2e 0a 20 20 3b 3b 20 2d 20 33 30 20 69 6e 74 72 6f 64 75 63 effect-free'....;;.-.30.introduc
1740 65 64 20 60 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 27 2e 0a 20 20 28 ed.`important-return-value'....(
1760 77 68 65 6e 20 28 62 6f 75 6e 64 70 20 27 64 65 66 75 6e 2d 64 65 63 6c 61 72 61 74 69 6f 6e 73 when.(boundp.'defun-declarations
1780 2d 61 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 70 72 6f 70 20 27 28 69 6d 70 6f -alist).....(dolist.(prop.'(impo
17a0 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 70 75 72 65 20 73 69 64 65 2d 65 66 66 rtant-return-value.pure.side-eff
17c0 65 63 74 2d 66 72 65 65 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 73 73 71 20 70 ect-free)).......(unless.(assq.p
17e0 72 6f 70 20 64 65 66 75 6e 2d 64 65 63 6c 61 72 61 74 69 6f 6e 73 2d 61 6c 69 73 74 29 0a 20 20 rop.defun-declarations-alist)...
1800 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 70 72 6f 70 20 23 27 69 67 6e 6f 72 65 29 ......(push.(list.prop.#'ignore)
1820 20 64 65 66 75 6e 2d 64 65 63 6c 61 72 61 74 69 6f 6e 73 2d 61 6c 69 73 74 29 29 29 29 29 0a 0a .defun-declarations-alist)))))..
1840 28 64 65 66 67 72 6f 75 70 20 64 61 73 68 20 28 29 0a 20 20 22 43 75 73 74 6f 6d 69 7a 65 20 67 (defgroup.dash.()..."Customize.g
1860 72 6f 75 70 20 66 6f 72 20 44 61 73 68 2c 20 61 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 roup.for.Dash,.a.modern.list.lib
1880 72 61 72 79 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 3a 67 rary."...:group.'extensions...:g
18a0 72 6f 75 70 20 27 6c 69 73 70 0a 20 20 3a 70 72 65 66 69 78 20 22 64 61 73 68 2d 22 29 0a 0a 28 roup.'lisp...:prefix."dash-")..(
18c0 64 65 66 6d 61 63 72 6f 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 20 20 22 44 65 73 74 defmacro.!cons.(car.cdr)..."Dest
18e0 72 75 63 74 69 76 65 3a 20 53 65 74 20 43 44 52 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 ructive:.Set.CDR.to.the.cons.of.
1900 43 41 52 20 61 6e 64 20 43 44 52 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 CAR.and.CDR."...(declare.(debug.
1920 28 66 6f 72 6d 20 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 60 28 73 65 74 71 20 2c 63 64 72 20 28 (form.symbolp)))...`(setq.,cdr.(
1940 63 6f 6e 73 20 2c 63 61 72 20 2c 63 64 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 21 63 64 cons.,car.,cdr)))..(defmacro.!cd
1960 72 20 28 6c 69 73 74 29 0a 20 20 22 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 4c 49 53 r.(list)..."Destructive:.Set.LIS
1980 54 20 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 T.to.the.cdr.of.LIST."...(declar
19a0 65 20 28 64 65 62 75 67 20 28 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 60 28 73 65 74 71 20 2c 6c e.(debug.(symbolp)))...`(setq.,l
19c0 69 73 74 20 28 63 64 72 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 ist.(cdr.,list)))..(defmacro.--e
19e0 61 63 68 20 28 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 ach.(list.&rest.body)..."Evaluat
1a00 65 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 e.BODY.for.each.element.of.LIST.
1a20 61 6e 64 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 and.return.nil..Each.element.of.
1a40 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e LIST.in.turn.is.bound.to.`it'.an
1a60 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 d.its.index.within.LIST.to.`it-i
1a80 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 42 4f 44 59 2e 0a 54 68 ndex'.before.evaluating.BODY..Th
1aa0 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 is.is.the.anaphoric.counterpart.
1ac0 74 6f 20 60 2d 65 61 63 68 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 to.`-each'."...(declare.(debug.(
1ae0 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 form.body)).(indent.1))...(let.(
1b00 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 (l.(make-symbol."list"))........
1b20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 .(i.(make-symbol."i"))).....`(le
1b40 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 29 t.((,l.,list)............(,i.0))
1b60 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 ........(while.,l..........(let.
1b80 28 28 69 74 20 28 70 6f 70 20 2c 6c 29 29 20 28 69 74 2d 69 6e 64 65 78 20 2c 69 29 29 0a 20 20 ((it.(pop.,l)).(it-index.,i))...
1ba0 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 .........(ignore.it.it-index)...
1bc0 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .........,@body)..........(setq.
1be0 2c 69 20 28 31 2b 20 2c 69 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c ,i.(1+.,i))))))..(defun.-each.(l
1c00 69 73 74 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 ist.fn)..."Call.FN.on.each.eleme
1c20 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e nt.of.LIST..Return.nil;.this.fun
1c40 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 ction.is.intended.for.side.effec
1c60 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 ts...Its.anaphoric.counterpart.i
1c80 73 20 60 2d 2d 65 61 63 68 27 2e 0a 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 s.`--each'...For.access.to.the.c
1ca0 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 2c 20 urrent.element's.index.in.LIST,.
1cc0 73 65 65 0a 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 see.`-each-indexed'."...(declare
1ce0 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 67 6e 6f 72 65 20 28 6d 61 70 63 20 66 6e 20 .(indent.1))...(ignore.(mapc.fn.
1d00 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 61 63 68 2d 69 6e 64 65 78 list)))..(defalias.'--each-index
1d20 65 64 20 27 2d 2d 65 61 63 68 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 ed.'--each)..(defun.-each-indexe
1d40 64 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 69 d.(list.fn)..."Call.FN.on.each.i
1d60 6e 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 46 6f 72 20 65 61 ndex.and.element.of.LIST..For.ea
1d80 63 68 20 49 54 45 4d 20 61 74 20 49 4e 44 45 58 20 69 6e 20 4c 49 53 54 2c 20 63 61 6c 6c 20 28 ch.ITEM.at.INDEX.in.LIST,.call.(
1da0 66 75 6e 63 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 54 45 4d 29 2e 0a 52 65 74 75 72 6e 20 6e funcall.FN.INDEX.ITEM)..Return.n
1dc0 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f il;.this.function.is.intended.fo
1de0 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 r.side.effects...See.also:.`-map
1e00 2d 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 -indexed'."...(declare.(indent.1
1e20 29 29 0a 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 ))...(--each.list.(funcall.fn.it
1e40 2d 69 6e 64 65 78 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 77 -index.it)))..(defmacro.--each-w
1e60 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 hile.(list.pred.&rest.body)..."E
1e80 76 61 6c 75 61 74 65 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 valuate.BODY.for.each.item.in.LI
1ea0 53 54 2c 20 77 68 69 6c 65 20 50 52 45 44 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d ST,.while.PRED.evaluates.to.non-
1ec0 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 nil..Each.element.of.LIST.in.tur
1ee0 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 n.is.bound.to.`it'.and.its.index
1f00 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 .within.LIST.to.`it-index'.befor
1f20 65 20 65 76 61 6c 75 61 74 69 6e 67 20 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 20 4f 6e 63 65 e.evaluating.PRED.or.BODY...Once
1f40 0a 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 .an.element.is.reached.for.which
1f60 20 50 52 45 44 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 66 75 72 74 68 .PRED.evaluates.to.nil,.no.furth
1f80 65 72 0a 42 4f 44 59 20 69 73 20 65 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 72 65 74 75 72 er.BODY.is.evaluated...The.retur
1fa0 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 n.value.is.always.nil..This.is.t
1fc0 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 he.anaphoric.counterpart.to.`-ea
1fe0 63 68 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 ch-while'."...(declare.(debug.(f
2000 6f 72 6d 20 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c orm.form.body)).(indent.2))...(l
2020 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 et.((l.(make-symbol."list"))....
2040 20 20 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 0a 20 20 20 20 20 .....(i.(make-symbol."i"))......
2060 20 20 20 28 65 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 65 6c 74 22 29 29 29 0a 20 20 ...(elt.(make-symbol."elt")))...
2080 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 ..`(let.((,l.,list)............(
20a0 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 65 6c 74 29 0a 20 20 20 20 20 20 20 28 77 ,i.0)............,elt)........(w
20c0 68 69 6c 65 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 hile.(when.,l.................(s
20e0 65 74 71 20 2c 65 6c 74 20 28 63 61 72 2d 73 61 66 65 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 etq.,elt.(car-safe.,l)).........
2100 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 2c 65 6c 74 29 20 28 69 74 2d 69 6e 64 65 ........(let.((it.,elt).(it-inde
2120 78 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 x.,i))...................(ignore
2140 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .it.it-index)...................
2160 2c 70 72 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 2c 65 6c 74 29 ,pred))..........(let.((it.,elt)
2180 20 28 69 74 2d 69 6e 64 65 78 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f .(it-index.,i))............(igno
21a0 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 re.it.it-index)............,@bod
21c0 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 69 20 28 31 2b 20 2c 69 29 20 2c 6c 20 y)..........(setq.,i.(1+.,i).,l.
21e0 28 63 64 72 20 2c 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c (cdr.,l))))))..(defun.-each-whil
2200 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 e.(list.pred.fn)..."Call.FN.on.e
2220 61 63 68 20 49 54 45 4d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 ach.ITEM.in.LIST,.while.(PRED.IT
2240 45 4d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 69 73 20 EM).is.non-nil..Once.an.ITEM.is.
2260 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e reached.for.which.PRED.returns.n
2280 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 il,.FN.is.no.longer.called...Ret
22a0 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 urn.nil;.this.function.is.intend
22c0 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f ed.for.side.effects...Its.anapho
22e0 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 77 68 69 6c 65 ric.counterpart.is.`--each-while
2300 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 2d 2d '."...(declare.(indent.2))...(--
2320 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 each-while.list.(funcall.pred.it
2340 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d ).(funcall.fn.it)))..(defmacro.-
2360 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 -each-r.(list.&rest.body)..."Eva
2380 6c 75 61 74 65 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c luate.BODY.for.each.element.of.L
23a0 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 0a 45 61 63 68 20 65 6c 65 6d IST.in.reversed.order..Each.elem
23c0 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 ent.of.LIST.in.turn,.starting.at
23e0 20 69 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 20 74 6f 0a 60 69 74 27 20 61 6e 64 20 69 .its.end,.is.bound.to.`it'.and.i
2400 74 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 ts.index.within.LIST.to.`it-inde
2420 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 42 4f 44 59 2e 20 20 54 68 65 20 x'.before.evaluating.BODY...The.
2440 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 return.value.is.always.nil..This
2460 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f .is.the.anaphoric.counterpart.to
2480 20 60 2d 65 61 63 68 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 .`-each-r'."...(declare.(debug.(
24a0 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 form.body)).(indent.1))...(let.(
24c0 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 65 63 74 6f 72 22 29 29 0a 20 20 20 20 20 (v.(make-symbol."vector"))......
24e0 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 3b 3b ...(i.(make-symbol."i"))).....;;
2500 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f 74 65 3a 20 62 75 69 6c 64 69 6e 67 20 61 .Implementation.note:.building.a
2520 20 76 65 63 74 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 72 61 62 6c 79 20 66 61 73 74 65 72 0a 20 .vector.is.considerably.faster..
2540 20 20 20 3b 3b 20 74 68 61 6e 20 62 75 69 6c 64 69 6e 67 20 61 20 72 65 76 65 72 73 65 64 20 6c ...;;.than.building.a.reversed.l
2560 69 73 74 20 28 76 65 63 74 6f 72 20 74 61 6b 65 73 20 6c 65 73 73 20 6d 65 6d 6f 72 79 2c 20 73 ist.(vector.takes.less.memory,.s
2580 6f 0a 20 20 20 20 3b 3b 20 74 68 65 72 65 20 69 73 20 6c 65 73 73 20 47 43 29 2c 20 70 6c 75 73 o.....;;.there.is.less.GC),.plus
25a0 20 60 6c 65 6e 67 74 68 27 20 63 6f 6d 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 20 20 49 6e 2d 70 .`length'.comes.naturally...In-p
25c0 6c 61 63 65 0a 20 20 20 20 3b 3b 20 60 6e 72 65 76 65 72 73 65 27 20 77 6f 75 6c 64 20 62 65 20 lace.....;;.`nreverse'.would.be.
25e0 66 61 73 74 65 72 20 73 74 69 6c 6c 2c 20 62 75 74 20 42 4f 44 59 20 77 6f 75 6c 64 20 62 65 20 faster.still,.but.BODY.would.be.
2600 61 62 6c 65 20 74 6f 20 73 65 65 0a 20 20 20 20 3b 3b 20 74 68 61 74 2c 20 65 76 65 6e 20 69 66 able.to.see.....;;.that,.even.if
2620 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 77 61 73 20 75 6e 64 6f 6e 65 20 62 65 66 .the.modification.was.undone.bef
2640 6f 72 65 20 77 65 20 72 65 74 75 72 6e 2e 0a 20 20 20 20 60 28 6c 65 74 2a 20 28 28 2c 76 20 28 ore.we.return......`(let*.((,v.(
2660 76 63 6f 6e 63 61 74 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 vconcat.,list)).............(,i.
2680 28 6c 65 6e 67 74 68 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 74 20 69 74 2d 69 (length.,v)).............it.it-i
26a0 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 ndex)........(ignore.it.it-index
26c0 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 2c 69 20 30 29 0a 20 20 20 20 20 20 20 )........(while.(>.,i.0)........
26e0 20 20 28 73 65 74 71 20 2c 69 20 28 31 2d 20 2c 69 29 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 ..(setq.,i.(1-.,i).it-index.,i.i
2700 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 t.(aref.,v.,i))..........,@body)
2720 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 )))..(defun.-each-r.(list.fn)...
2740 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 "Call.FN.on.each.element.of.LIST
2760 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 .in.reversed.order..Return.nil;.
2780 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 this.function.is.intended.for.si
27a0 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 de.effects...Its.anaphoric.count
27c0 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 72 27 2e 22 0a 20 20 28 2d 2d 65 61 63 68 erpart.is.`--each-r'."...(--each
27e0 2d 72 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d -r.list.(funcall.fn.it)))..(defm
2800 61 63 72 6f 20 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 26 acro.--each-r-while.(list.pred.&
2820 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 rest.body)..."Eval.BODY.for.each
2840 20 69 74 65 6d 20 69 6e 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 50 52 .item.in.reversed.LIST,.while.PR
2860 45 44 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e ED.evals.to.non-nil..Each.elemen
2880 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 t.of.LIST.in.turn,.starting.at.i
28a0 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 20 74 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 73 ts.end,.is.bound.to.`it'.and.its
28c0 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 .index.within.LIST.to.`it-index'
28e0 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 50 52 45 44 20 6f 72 20 42 4f 44 59 2e .before.evaluating.PRED.or.BODY.
2900 20 20 4f 6e 63 65 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 ..Once.an.element.is.reached.for
2920 20 77 68 69 63 68 20 50 52 45 44 0a 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f .which.PRED.evaluates.to.nil,.no
2940 20 66 75 72 74 68 65 72 20 42 4f 44 59 20 69 73 20 65 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 .further.BODY.is.evaluated...The
2960 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 69 73 20 61 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 .return.value.is.always.nil..Thi
2980 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 s.is.the.anaphoric.counterpart.t
29a0 6f 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 o.`-each-r-while'."...(declare.(
29c0 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 debug.(form.form.body)).(indent.
29e0 32 29 29 0a 20 20 28 6c 65 74 20 28 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 65 63 2))...(let.((v.(make-symbol."vec
2a00 74 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 tor")).........(i.(make-symbol."
2a20 69 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 i")).........(elt.(make-symbol."
2a40 65 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 28 28 2c 76 20 28 76 63 6f 6e 63 61 74 elt"))).....`(let*.((,v.(vconcat
2a60 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 28 6c 65 6e 67 74 68 .,list)).............(,i.(length
2a80 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 65 6c 74 20 69 74 20 69 74 2d 69 6e 64 .,v)).............,elt.it.it-ind
2aa0 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a ex)........(ignore.it.it-index).
2ac0 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 77 68 65 6e 20 28 3e 20 2c 69 20 30 29 0a 20 20 20 .......(while.(when.(>.,i.0)....
2ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 69 20 28 31 2d 20 2c 69 29 20 69 74 .............(setq.,i.(1-.,i).it
2b00 2d 69 6e 64 65 78 20 2c 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 -index.,i).................(setq
2b20 20 2c 65 6c 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 20 69 74 20 2c 65 6c 74 29 0a 20 20 20 20 .,elt.(aref.,v.,i).it.,elt).....
2b40 20 20 20 20 20 20 20 20 20 20 20 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 ............,pred)..........(set
2b60 71 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 20 2c 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 q.it-index.,i.it.,elt)..........
2b80 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 ,@body))))..(defun.-each-r-while
2ba0 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 .(list.pred.fn)..."Call.FN.on.ea
2bc0 63 68 20 49 54 45 4d 20 69 6e 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 ch.ITEM.in.reversed.LIST,.while.
2be0 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 (PRED.ITEM).is.non-nil..Once.an.
2c00 49 54 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 ITEM.is.reached.for.which.PRED.r
2c20 65 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c eturns.nil,.FN.is.no.longer.call
2c40 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ed...Return.nil;.this.function.i
2c60 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 s.intended.for.side.effects...It
2c80 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 s.anaphoric.counterpart.is.`--ea
2ca0 63 68 2d 72 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 ch-r-while'."...(--each-r-while.
2cc0 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 list.(funcall.pred.it).(funcall.
2ce0 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 6f 74 69 6d 65 73 20 28 6e fn.it)))..(defmacro.--dotimes.(n
2d00 75 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 um.&rest.body)..."Evaluate.BODY.
2d20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 NUM.times,.presumably.for.side.e
2d40 66 66 65 63 74 73 2e 0a 42 4f 44 59 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 69 74 68 20 74 ffects..BODY.is.evaluated.with.t
2d60 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 60 69 74 27 20 74 65 6d 70 6f 72 61 72 69 he.local.variable.`it'.temporari
2d80 6c 79 20 62 6f 75 6e 64 0a 74 6f 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 20 ly.bound.to.successive.integers.
2da0 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 4e 55 running.from.0,.inclusive,.to.NU
2dc0 4d 2c 0a 65 78 63 6c 75 73 69 76 65 2e 20 20 42 4f 44 59 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 M,.exclusive...BODY.is.not.evalu
2de0 61 74 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 54 68 69 73 ated.if.NUM.is.less.than.1..This
2e00 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f .is.the.anaphoric.counterpart.to
2e20 20 60 2d 64 6f 74 69 6d 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 .`-dotimes'."...(declare.(debug.
2e40 28 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 (form.body)).(indent.1))...(let.
2e60 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 75 6d 22 29 29 0a 20 20 20 20 20 20 20 ((n.(make-symbol."num"))........
2e80 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 .(i.(make-symbol."i"))).....`(le
2ea0 74 20 28 28 2c 6e 20 2c 6e 75 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 t.((,n.,num)............(,i.0)..
2ec0 20 20 20 20 20 20 20 20 20 20 69 74 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 29 ..........it)........(ignore.it)
2ee0 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 2c 69 20 2c 6e 29 0a 20 20 20 20 20 20 20 ........(while.(<.,i.,n)........
2f00 20 20 28 73 65 74 71 20 69 74 20 2c 69 20 2c 69 20 28 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 ..(setq.it.,i.,i.(1+.,i)).......
2f20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 6f 74 69 6d 65 73 20 28 ...,@body))))..(defun.-dotimes.(
2f40 6e 75 6d 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 num.fn)..."Call.FN.NUM.times,.pr
2f60 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 46 4e 20 69 73 esumably.for.side.effects..FN.is
2f80 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f .called.with.a.single.argument.o
2fa0 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 0a 72 75 6e 6e 69 6e 67 20 66 72 n.successive.integers.running.fr
2fc0 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 om.0,.inclusive,.to.NUM,.exclusi
2fe0 76 65 2e 20 20 46 4e 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 4e 55 4d 20 69 73 20 ve...FN.is.not.called.if.NUM.is.
3000 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e less.than.1...This.function's.an
3020 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 64 6f 74 69 6d 65 aphoric.counterpart.is.`--dotime
3040 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 2d s'."...(declare.(indent.1))...(-
3060 2d 64 6f 74 69 6d 65 73 20 6e 75 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a -dotimes.num.(funcall.fn.it)))..
3080 28 64 65 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 (defun.-map.(fn.list)..."Apply.F
30a0 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 N.to.each.item.in.LIST.and.retur
30c0 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e n.the.list.of.results...This.fun
30e0 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
3100 20 60 2d 2d 6d 61 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 .`--map'."...(declare.(important
3120 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6d 61 70 63 61 72 20 66 6e 20 6c -return-value.t))...(mapcar.fn.l
3140 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 20 28 66 6f 72 6d 20 6c 69 73 ist))..(defmacro.--map.(form.lis
3160 74 29 0a 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e t)..."Eval.FORM.for.each.item.in
3180 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 .LIST.and.return.the.list.of.res
31a0 75 6c 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 ults..Each.element.of.LIST.in.tu
31c0 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 rn.is.bound.to.`it'.before.evalu
31e0 61 74 69 6e 67 0a 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 ating.FORM..This.is.the.anaphori
3200 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 6d 61 70 27 2e 22 0a 20 20 28 64 65 63 c.counterpart.to.`-map'."...(dec
3220 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 lare.(debug.(def-form.form)))...
3240 60 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 `(mapcar.(lambda.(it).(ignore.it
3260 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 ).,form).,list))..(defmacro.--re
3280 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 41 63 duce-from.(form.init.list)..."Ac
32a0 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 cumulate.a.value.by.evaluating.F
32c0 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c ORM.across.LIST..This.macro.is.l
32e0 69 6b 65 20 60 2d 2d 65 61 63 68 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 69 74 ike.`--each'.(which.see),.but.it
3300 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 70 72 6f 76 69 64 65 73 20 61 6e 20 61 63 63 75 6d 75 .additionally.provides.an.accumu
3320 6c 61 74 6f 72 20 76 61 72 69 61 62 6c 65 20 60 61 63 63 27 20 77 68 69 63 68 20 69 74 20 73 75 lator.variable.`acc'.which.it.su
3340 63 63 65 73 73 69 76 65 6c 79 0a 62 69 6e 64 73 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f ccessively.binds.to.the.result.o
3360 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e f.evaluating.FORM.for.the.curren
3380 74 20 4c 49 53 54 0a 65 6c 65 6d 65 6e 74 20 62 65 66 6f 72 65 20 70 72 6f 63 65 73 73 69 6e 67 t.LIST.element.before.processing
33a0 20 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 2e 20 20 46 6f 72 20 74 68 65 20 66 69 72 73 .the.next.element...For.the.firs
33c0 74 0a 65 6c 65 6d 65 6e 74 2c 20 60 61 63 63 27 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 t.element,.`acc'.is.initialized.
33e0 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 49 4e with.the.result.of.evaluating.IN
3400 49 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 72 65 73 75 IT..The.return.value.is.the.resu
3420 6c 74 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 60 61 63 63 27 2e 20 20 49 66 20 4c 49 53 54 20 69 lting.value.of.`acc'...If.LIST.i
3440 73 0a 65 6d 70 74 79 2c 20 46 4f 52 4d 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 2c 20 s.empty,.FORM.is.not.evaluated,.
3460 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 72 65 73 75 and.the.return.value.is.the.resu
3480 6c 74 0a 6f 66 20 49 4e 49 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 lt.of.INIT..This.is.the.anaphori
34a0 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e c.counterpart.to.`-reduce-from'.
34c0 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 "...(declare.(debug.(form.form.f
34e0 6f 72 6d 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 74 29 29 0a 20 20 20 orm)))...`(let.((acc.,init))....
3500 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 20 2c 66 6f 72 6d 29 ..(--each.,list.(setq.acc.,form)
3520 29 0a 20 20 20 20 20 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 66 72 6f )......acc))..(defun.-reduce-fro
3540 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 20 66 m.(fn.init.list)..."Reduce.the.f
3560 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 unction.FN.across.LIST,.starting
3580 20 77 69 74 68 20 49 4e 49 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 .with.INIT..Return.the.result.of
35a0 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 20 74 68 65 20 66 69 72 .applying.FN.to.INIT.and.the.fir
35c0 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e st.element.of.LIST,.then.applyin
35e0 67 20 46 4e 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f g.FN.to.that.result.and.the.seco
3600 6e 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 nd.element,.etc...If.LIST.is.emp
3620 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 ty,.return.INIT.without.calling.
3640 46 4e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 FN...This.function's.anaphoric.c
3660 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 0a 0a ounterpart.is.`--reduce-from'...
3680 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 For.other.folds,.see.also.`-redu
36a0 63 65 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 ce'.and.`-reduce-r'."...(declare
36c0 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 .(important-return-value.t))...(
36e0 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 --reduce-from.(funcall.fn.acc.it
3700 29 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 ).init.list))..(defmacro.--reduc
3720 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 e.(form.list)..."Accumulate.a.va
3740 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 lue.by.evaluating.FORM.across.LI
3760 53 54 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 ST..This.macro.is.like.`--reduce
3780 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 74 68 65 20 66 -from'.(which.see),.except.the.f
37a0 69 72 73 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 73 20 74 61 6b 65 6e 20 61 73 irst.element.of.LIST.is.taken.as
37c0 20 49 4e 49 54 2e 20 20 54 68 75 73 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 .INIT...Thus.if.LIST.contains.a.
37e0 73 69 6e 67 6c 65 0a 69 74 65 6d 2c 20 69 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 single.item,.it.is.returned.with
3800 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 49 66 20 4c 49 53 54 20 69 73 out.evaluating.FORM...If.LIST.is
3820 20 65 6d 70 74 79 2c 0a 46 4f 52 4d 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 69 74 68 20 60 .empty,.FORM.is.evaluated.with.`
3840 69 74 27 20 61 6e 64 20 60 61 63 63 27 20 62 6f 75 6e 64 20 74 6f 20 6e 69 6c 2e 0a 54 68 69 73 it'.and.`acc'.bound.to.nil..This
3860 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f .is.the.anaphoric.counterpart.to
3880 20 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 .`-reduce'."...(declare.(debug.(
38a0 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 form.form)))...(let.((lv.(make-s
38c0 79 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 ymbol."list-value"))).....`(let.
38e0 28 28 2c 6c 76 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 ((,lv.,list))........(if.,lv....
3900 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 2c 66 6f 72 6d 20 28 63 61 ........(--reduce-from.,form.(ca
3920 72 20 2c 6c 76 29 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 r.,lv).(cdr.,lv))..........;;.Ex
3940 70 6c 69 63 69 74 20 6e 69 6c 20 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 65 73 20 6c 65 78 69 plicit.nil.binding.pacifies.lexi
3960 63 61 6c 20 22 76 61 72 69 61 62 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 cal."variable.left.uninitialized
3980 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 65 20 69 73 73 75 "..........;;.warning...See.issu
39a0 65 20 23 33 37 37 20 61 6e 64 20 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 e.#377.and.upstream.https://bugs
39c0 2e 67 6e 75 2e 6f 72 67 2f 34 37 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 .gnu.org/47080...........(let.((
39e0 61 63 63 20 6e 69 6c 29 20 28 69 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 acc.nil).(it.nil))............(i
3a00 67 6e 6f 72 65 20 61 63 63 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 66 6f 72 6d 29 29 gnore.acc.it)............,form))
3a20 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 )))..(defun.-reduce.(fn.list)...
3a40 22 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c "Reduce.the.function.FN.across.L
3a60 49 53 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 IST..Return.the.result.of.applyi
3a80 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 ng.FN.to.the.first.two.elements.
3aa0 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 of.LIST,.then.applying.FN.to.tha
3ac0 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 t.result.and.the.third.element,.
3ae0 65 74 63 2e 0a 49 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 etc..If.LIST.contains.a.single.e
3b00 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e lement,.return.it.without.callin
3b20 67 20 46 4e 2e 0a 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 g.FN..If.LIST.is.empty,.return.t
3b40 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f 0a he.result.of.calling.FN.with.no.
3b60 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 arguments...This.function's.anap
3b80 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 27 2e horic.counterpart.is.`--reduce'.
3ba0 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 ..For.other.folds,.see.also.`-re
3bc0 64 75 63 65 2d 66 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 duce-from'.and.`-reduce-r'."...(
3be0 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 declare.(important-return-value.
3c00 74 29 29 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 t))...(if.list.......(-reduce-fr
3c20 6f 6d 20 66 6e 20 28 63 61 72 20 6c 69 73 74 29 20 28 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 om.fn.(car.list).(cdr.list))....
3c40 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 .(funcall.fn)))..(defmacro.--red
3c60 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 41 uce-r-from.(form.init.list)..."A
3c80 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 ccumulate.a.value.by.evaluating.
3ca0 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 54 68 69 FORM.across.LIST.in.reverse..Thi
3cc0 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2c s.macro.is.like.`--reduce-from',
3ce0 20 65 78 63 65 70 74 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 0a 6f .except.it.starts.from.the.end.o
3d00 66 20 4c 49 53 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f f.LIST..This.is.the.anaphoric.co
3d20 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 22 0a unterpart.to.`-reduce-r-from'.".
3d40 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 ..(declare.(debug.(form.form.for
3d60 6d 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 20 m)))...`(let.((acc.,init))......
3d80 28 2d 2d 65 61 63 68 2d 72 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 20 2c 66 6f 72 6d 29 (--each-r.,list.(setq.acc.,form)
3da0 29 0a 20 20 20 20 20 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 2d 66 )......acc))..(defun.-reduce-r-f
3dc0 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 rom.(fn.init.list)..."Reduce.the
3de0 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 .function.FN.across.LIST.in.reve
3e00 72 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 0a 52 65 74 75 72 6e 20 rse,.starting.with.INIT..Return.
3e20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 the.result.of.applying.FN.to.the
3e40 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 49 4e 49 54 2c 20 .last.element.of.LIST.and.INIT,.
3e60 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 then.applying.FN.to.the.second-t
3e80 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 o-last.element.and.the.previous.
3ea0 72 65 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 result.of.FN,.etc...That.is,.the
3ec0 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 .first.argument.of.FN.is.the.cur
3ee0 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 rent.element,.and.its.second.arg
3f00 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 ument.the.accumulated.value...If
3f20 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 .LIST.is.empty,.return.INIT.with
3f40 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 out.calling.FN...This.function.i
3f60 73 20 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 62 75 74 20 74 68 65 20 6f 70 s.like.`-reduce-from'.but.the.op
3f80 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 eration.associates.from.the.righ
3fa0 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f t.rather.than.left...In.other.wo
3fc0 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 4c rds,.it.starts.from.the.end.of.L
3fe0 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 IST.and.flips.the.arguments.to.F
4000 4e 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b 65 20 72 65 70 N...Conceptually,.it.is.like.rep
4020 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 61 lacing.the.conses.in.LIST.with.a
4040 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 0a 69 74 73 20 6c 61 73 74 20 pplications.of.FN,.and.its.last.
4060 6c 69 6e 6b 20 77 69 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 link.with.INIT,.and.evaluating.t
4080 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 he.resulting.expression...This.f
40a0 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 unction's.anaphoric.counterpart.
40c0 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 is.`--reduce-r-from'...For.other
40e0 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 20 61 6e 64 .folds,.see.also.`-reduce-r'.and
4100 20 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 .`-reduce'."...(declare.(importa
4120 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 2d nt-return-value.t))...(--reduce-
4140 72 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 69 6e 69 74 20 r-from.(funcall.fn.it.acc).init.
4160 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f list))..(defmacro.--reduce-r.(fo
4180 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 rm.list)..."Accumulate.a.value.b
41a0 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e y.evaluating.FORM.across.LIST.in
41c0 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 .reverse.order..This.macro.is.li
41e0 6b 65 20 60 2d 2d 72 65 64 75 63 65 27 2c 20 65 78 63 65 70 74 20 69 74 20 73 74 61 72 74 73 20 ke.`--reduce',.except.it.starts.
4200 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 0a 4c 49 53 54 2e 0a 54 68 69 73 20 69 73 20 74 68 from.the.end.of.LIST..This.is.th
4220 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 e.anaphoric.counterpart.to.`-red
4240 75 63 65 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d uce-r'."...(declare.(debug.(form
4260 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 72 65 64 75 63 65 20 2c 66 6f 72 6d 20 28 72 65 76 .form)))...`(--reduce.,form.(rev
4280 65 72 73 65 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 20 erse.,list)))..(defun.-reduce-r.
42a0 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e (fn.list)..."Reduce.the.function
42c0 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 .FN.across.LIST.in.reverse..Retu
42e0 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 rn.the.result.of.applying.FN.to.
4300 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 4c 49 53 54 2c 20 74 the.last.two.elements.of.LIST,.t
4320 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d hen.applying.FN.to.the.third-to-
4340 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 last.element.and.the.previous.re
4360 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 sult.of.FN,.etc...That.is,.the.f
4380 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 72 65 irst.argument.of.FN.is.the.curre
43a0 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d nt.element,.and.its.second.argum
43c0 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 4c ent.the.accumulated.value...If.L
43e0 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 IST.contains.a.single.element,.r
4400 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 20 49 66 eturn.it.without.calling.FN...If
4420 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c .LIST.is.empty,.return.the.resul
4440 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 t.of.calling.FN.with.no.argument
4460 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 60 2d 72 65 64 75 s...This.function.is.like.`-redu
4480 63 65 27 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 ce'.but.the.operation.associates
44a0 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 .from.the.right.rather.than.left
44c0 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f ...In.other.words,.it.starts.fro
44e0 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 m.the.end.of.LIST.and.flips.the.
4500 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 4e 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 arguments.to.FN...Conceptually,.
4520 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 it.is.like.replacing.the.conses.
4540 69 6e 20 4c 49 53 54 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c in.LIST.with.applications.of.FN,
4560 0a 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 .ignoring.its.last.link,.and.eva
4580 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e luating.the.resulting.expression
45a0 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ...This.function's.anaphoric.cou
45c0 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 27 2e 0a 0a 46 6f 72 20 6f nterpart.is.`--reduce-r'...For.o
45e0 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d ther.folds,.see.also.`-reduce-r-
4600 66 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 from'.and.`-reduce'."...(declare
4620 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 .(important-return-value.t))...(
4640 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 75 6e 63 61 if.list.......(--reduce-r.(funca
4660 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c ll.fn.it.acc).list).....(funcall
4680 20 66 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 .fn)))..(defmacro.--reductions-f
46a0 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 rom.(form.init.list)..."Return.a
46c0 20 6c 69 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 .list.of.FORM's.intermediate.red
46e0 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 uctions.across.LIST..That.is,.a.
4700 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 list.of.the.intermediate.values.
4720 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 of.the.accumulator.when.`--reduc
4740 65 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 e-from'.(which.see).is.called.wi
4760 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 th.the.same.arguments..This.is.t
4780 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 he.anaphoric.counterpart.to.`-re
47a0 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 ductions-from'."...(declare.(deb
47c0 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6e 72 65 76 65 72 ug.(form.form.form)))...`(nrever
47e0 73 65 0a 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 se.....(--reduce-from.(cons.(let
4800 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 .((acc.(car.acc))).(ignore.acc).
4820 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ,form).acc)....................(
4840 6c 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c list.,init)....................,
4860 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d list)))..(defun.-reductions-from
4880 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 .(fn.init.list)..."Return.a.list
48a0 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 .of.FN's.intermediate.reductions
48c0 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 .across.LIST..That.is,.a.list.of
48e0 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 .the.intermediate.values.of.the.
4900 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 accumulator.when.`-reduce-from'.
4920 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 (which.see).is.called.with.the.s
4940 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 ame.arguments...This.function's.
4960 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 anaphoric.counterpart.is.`--redu
4980 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 ctions-from'...For.other.folds,.
49a0 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 20 61 6e 64 20 60 2d 72 65 64 see.also.`-reductions'.and.`-red
49c0 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 uctions-r'."...(declare.(importa
49e0 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 74 69 nt-return-value.t))...(--reducti
4a00 6f 6e 73 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 29 20 69 6e 69 ons-from.(funcall.fn.acc.it).ini
4a20 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 t.list))..(defmacro.--reductions
4a40 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 .(form.list)..."Return.a.list.of
4a60 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 .FORM's.intermediate.reductions.
4a80 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 across.LIST..That.is,.a.list.of.
4aa0 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 the.intermediate.values.of.the.a
4ac0 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 27 20 28 77 68 69 63 ccumulator.when.`--reduce'.(whic
4ae0 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 h.see).is.called.with.the.same.a
4b00 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 rguments..This.is.the.anaphoric.
4b20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 2e 22 0a 20 counterpart.to.`-reductions'."..
4b40 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 .(declare.(debug.(form.form)))..
4b60 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 .(let.((lv.(make-symbol."list-va
4b80 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 76 20 2c 6c 69 73 74 29 29 0a lue"))).....`(let.((,lv.,list)).
4ba0 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 .......(if.,lv............(--red
4bc0 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 2c 66 6f 72 6d 20 28 63 61 72 20 2c 6c 76 29 20 28 63 64 uctions-from.,form.(car.,lv).(cd
4be0 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 70 6c 69 63 69 74 20 6e 69 6c r.,lv))..........;;.Explicit.nil
4c00 20 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 65 73 20 6c 65 78 69 63 61 6c 20 22 76 61 72 69 61 .binding.pacifies.lexical."varia
4c20 62 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 22 0a 20 20 20 20 20 20 20 20 ble.left.uninitialized".........
4c40 20 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 65 20 69 73 73 75 65 20 23 33 37 37 20 61 6e 64 .;;.warning...See.issue.#377.and
4c60 20 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 67 6e 75 2e 6f 72 67 2f 34 .upstream.https://bugs.gnu.org/4
4c80 37 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 63 63 20 6e 69 6c 29 20 28 7080...........(let.((acc.nil).(
4ca0 69 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 61 63 63 20 it.nil))............(ignore.acc.
4cc0 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 66 6f 72 6d 29 29 29 29 29 29 it)............(list.,form))))))
4ce0 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 ..(defun.-reductions.(fn.list)..
4d00 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 ."Return.a.list.of.FN's.intermed
4d20 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 iate.reductions.across.LIST..Tha
4d40 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 t.is,.a.list.of.the.intermediate
4d60 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 .values.of.the.accumulator.when.
4d80 60 2d 72 65 64 75 63 65 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 `-reduce'.(which.see).is.called.
4da0 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 with.the.same.arguments...This.f
4dc0 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 unction's.anaphoric.counterpart.
4de0 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f is.`--reductions'...For.other.fo
4e00 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 20 61 6e 64 20 lds,.see.also.`-reductions'.and.
4e20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d `-reductions-r'."...(declare.(im
4e40 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 69 66 20 6c portant-return-value.t))...(if.l
4e60 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 75 ist.......(--reductions-from.(fu
4e80 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 29 20 28 63 61 72 20 6c 69 73 74 29 20 28 63 64 72 ncall.fn.acc.it).(car.list).(cdr
4ea0 20 6c 69 73 74 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 .list)).....(list.(funcall.fn)))
4ec0 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d )..(defmacro.--reductions-r-from
4ee0 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 .(form.init.list)..."Return.a.li
4f00 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 st.of.FORM's.intermediate.reduct
4f20 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 ions.across.reversed.LIST..That.
4f40 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 is,.a.list.of.the.intermediate.v
4f60 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d alues.of.the.accumulator.when.`-
4f80 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 -reduce-r-from'.(which.see).is.c
4fa0 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 54 alled.with.the.same.arguments..T
4fc0 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 his.is.the.anaphoric.counterpart
4fe0 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 .to.`-reductions-r-from'."...(de
5000 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a clare.(debug.(form.form.form))).
5020 20 20 60 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 ..`(--reduce-r-from.(cons.(let.(
5040 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 (acc.(car.acc))).(ignore.acc).,f
5060 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c orm).acc).....................(l
5080 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c ist.,init).....................,
50a0 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f list))..(defun.-reductions-r-fro
50c0 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 m.(fn.init.list)..."Return.a.lis
50e0 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e t.of.FN's.intermediate.reduction
5100 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c s.across.reversed.LIST..That.is,
5120 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 .a.list.of.the.intermediate.valu
5140 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 es.of.the.accumulator.when.`-red
5160 75 63 65 2d 72 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 uce-r-from'.(which.see).is.calle
5180 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 d.with.the.same.arguments...This
51a0 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 .function's.anaphoric.counterpar
51c0 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 t.is.`--reductions-r-from'...For
51e0 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 .other.folds,.see.also.`-reducti
5200 6f 6e 73 27 20 61 6e 64 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 ons'.and.`-reductions-r'."...(de
5220 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 clare.(important-return-value.t)
5240 29 0a 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c )...(--reductions-r-from.(funcal
5260 6c 20 66 6e 20 69 74 20 61 63 63 29 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 l.fn.it.acc).init.list))..(defma
5280 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 cro.--reductions-r.(form.list)..
52a0 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d ."Return.a.list.of.FORM's.interm
52c0 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 ediate.reductions.across.reverse
52e0 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 d.LIST..That.is,.a.list.of.the.i
5300 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 ntermediate.values.of.the.accumu
5320 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 2d 72 65 27 20 28 77 68 69 63 68 20 lator.when.`--reduce-re'.(which.
5340 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 see).is.called.with.the.same.arg
5360 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f uments..This.is.the.anaphoric.co
5380 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 unterpart.to.`-reductions-r'."..
53a0 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 6c 69 73 74 29 29 29 0a 20 .(declare.(debug.(form.list)))..
53c0 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 .(let.((lv.(make-symbol."list-va
53e0 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 76 20 28 72 65 76 65 72 73 65 lue"))).....`(let.((,lv.(reverse
5400 20 2c 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 20 20 20 20 .,list)))........(if.,lv........
5420 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 ....(--reduce-from.(cons.(let.((
5440 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f acc.(car.acc))).(ignore.acc).,fo
5460 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rm).acc)........................
5480 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...(list.(car.,lv)).............
54a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 ..............(cdr.,lv))........
54c0 20 20 3b 3b 20 45 78 70 6c 69 63 69 74 20 6e 69 6c 20 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 ..;;.Explicit.nil.binding.pacifi
54e0 65 73 20 6c 65 78 69 63 61 6c 20 22 76 61 72 69 61 62 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 es.lexical."variable.left.uninit
5500 69 61 6c 69 7a 65 64 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 ialized"..........;;.warning...S
5520 65 65 20 69 73 73 75 65 20 23 33 37 37 20 61 6e 64 20 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 ee.issue.#377.and.upstream.https
5540 3a 2f 2f 62 75 67 73 2e 67 6e 75 2e 6f 72 67 2f 34 37 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 ://bugs.gnu.org/47080...........
5560 28 6c 65 74 20 28 28 61 63 63 20 6e 69 6c 29 20 28 69 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 (let.((acc.nil).(it.nil)).......
5580 20 20 20 20 20 28 69 67 6e 6f 72 65 20 61 63 63 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 .....(ignore.acc.it)............
55a0 28 6c 69 73 74 20 2c 66 6f 72 6d 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 (list.,form))))))..(defun.-reduc
55c0 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 tions-r.(fn.list)..."Return.a.li
55e0 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f st.of.FN's.intermediate.reductio
5600 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 ns.across.reversed.LIST..That.is
5620 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c ,.a.list.of.the.intermediate.val
5640 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 ues.of.the.accumulator.when.`-re
5660 64 75 63 65 2d 72 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 duce-r'.(which.see).is.called.wi
5680 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e th.the.same.arguments...This.fun
56a0 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
56c0 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f .`--reductions-r'...For.other.fo
56e0 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f lds,.see.also.`-reductions-r-fro
5700 6d 27 20 61 6e 64 0a 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 m'.and.`-reductions'."...(declar
5720 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 e.(important-return-value.t))...
5740 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 (if.list.......(--reductions-r.(
5760 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 0a 20 20 20 20 28 6c 69 funcall.fn.it.acc).list).....(li
5780 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d st.(funcall.fn))))..(defmacro.--
57a0 66 69 6c 74 65 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e filter.(form.list)..."Return.a.n
57c0 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 ew.list.of.the.items.in.LIST.for
57e0 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 .which.FORM.evals.to.non-nil..Ea
5800 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f ch.element.of.LIST.in.turn.is.bo
5820 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e und.to.`it'.and.its.index.within
5840 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 .LIST.to.`it-index'.before.evalu
5860 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 ating.FORM..This.is.the.anaphori
5880 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 6c 74 65 72 27 2e 0a 46 6f 72 20 c.counterpart.to.`-filter'..For.
58a0 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 73 65 65 20 61 6c 73 6f the.opposite.operation,.see.also
58c0 20 60 2d 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 .`--remove'."...(declare.(debug.
58e0 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 (form.form)))...(let.((r.(make-s
5900 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 ymbol."result"))).....`(let.(,r)
5920 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 77 68 65 6e 20 2c 66 6f 72 ........(--each.,list.(when.,for
5940 6d 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 m.(push.it.,r)))........(nrevers
5960 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c e.,r))))..(defun.-filter.(pred.l
5980 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 ist)..."Return.a.new.list.of.the
59a0 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 .items.in.LIST.for.which.PRED.re
59c0 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 73 65 6c 65 63 74 27 turns.non-nil...Alias:.`-select'
59e0 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ...This.function's.anaphoric.cou
5a00 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6c 74 65 72 27 2e 0a 0a 46 6f 72 20 73 69 6d nterpart.is.`--filter'...For.sim
5a20 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 6b 65 65 70 ilar.operations,.see.also.`-keep
5a40 27 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d '.and.`-remove'."...(declare.(im
5a60 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 portant-return-value.t))...(--fi
5a80 6c 74 65 72 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 lter.(funcall.pred.it).list))..(
5aa0 64 65 66 61 6c 69 61 73 20 27 2d 73 65 6c 65 63 74 20 27 2d 66 69 6c 74 65 72 29 0a 28 64 65 66 defalias.'-select.'-filter).(def
5ac0 61 6c 69 61 73 20 27 2d 2d 73 65 6c 65 63 74 20 27 2d 2d 66 69 6c 74 65 72 29 0a 0a 28 64 65 66 alias.'--select.'--filter)..(def
5ae0 6d 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 macro.--remove.(form.list)..."Re
5b00 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 turn.a.new.list.of.the.items.in.
5b20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 69 6c LIST.for.which.FORM.evals.to.nil
5b40 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 ..Each.element.of.LIST.in.turn.i
5b60 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 s.bound.to.`it'.and.its.index.wi
5b80 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 thin.LIST.to.`it-index'.before.e
5ba0 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 valuating.FORM..This.is.the.anap
5bc0 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 6d 6f 76 65 27 2e 0a horic.counterpart.to.`-remove'..
5be0 46 6f 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 73 65 65 20 For.the.opposite.operation,.see.
5c00 61 6c 73 6f 20 60 2d 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 also.`--filter'."...(declare.(de
5c20 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 66 69 6c 74 65 72 20 28 bug.(form.form)))...`(--filter.(
5c40 6e 6f 74 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f not.,form).,list))..(defun.-remo
5c60 76 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c ve.(pred.list)..."Return.a.new.l
5c80 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 ist.of.the.items.in.LIST.for.whi
5ca0 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 ch.PRED.returns.nil...Alias:.`-r
5cc0 65 6a 65 63 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 eject'...This.function's.anaphor
5ce0 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 27 2e 0a 0a 46 ic.counterpart.is.`--remove'...F
5d00 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 or.similar.operations,.see.also.
5d20 60 2d 6b 65 65 70 27 20 61 6e 64 20 60 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 `-keep'.and.`-filter'."...(decla
5d40 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 re.(important-return-value.t))..
5d60 20 28 2d 2d 72 65 6d 6f 76 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 .(--remove.(funcall.pred.it).lis
5d80 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6a 65 63 74 20 27 2d 72 65 6d 6f 76 65 t))..(defalias.'-reject.'-remove
5da0 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 20 27 2d 2d 72 65 6d 6f 76 65 29 ).(defalias.'--reject.'--remove)
5dc0 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 66 6f 72 6d ..(defmacro.--remove-first.(form
5de0 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 .list)..."Remove.the.first.item.
5e00 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 from.LIST.for.which.FORM.evals.t
5e20 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 o.non-nil..Each.element.of.LIST.
5e40 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 in.turn.is.bound.to.`it'.and.its
5e60 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 .index.within.LIST.to.`it-index'
5e80 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 54 68 69 73 20 69 .before.evaluating.FORM...This.i
5ea0 73 20 61 0a 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 s.a.non-destructive.operation,.b
5ec0 75 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 20 6c 65 61 64 69 6e ut.only.the.front.of.LIST.leadin
5ee0 67 20 75 70 0a 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f g.up.to.the.removed.item.is.a.co
5f00 70 79 3b 20 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 27 73 20 6f 72 69 67 69 6e 61 6c 20 py;.the.rest.is.LIST's.original.
5f20 74 61 69 6c 2e 0a 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 tail..If.no.item.is.removed,.the
5f40 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e n.the.result.is.a.complete.copy.
5f60 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 .This.is.the.anaphoric.counterpa
5f80 72 74 20 74 6f 20 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 rt.to.`-remove-first'."...(decla
5fa0 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 re.(debug.(form.form)))...(let.(
5fc0 28 66 72 6f 6e 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 66 72 6f 6e 74 22 29 29 0a 20 20 (front.(make-symbol."front"))...
5fe0 20 20 20 20 20 20 28 74 61 69 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 61 69 6c 22 29 ......(tail.(make-symbol."tail")
6000 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 74 61 69 6c 20 2c 6c 69 73 74 29 20 2c 66 72 6f )).....`(let.((,tail.,list).,fro
6020 6e 74 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 74 61 69 6c 20 28 nt)........(--each-while.,tail.(
6040 6e 6f 74 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 2c not.,form)..........(push.(pop.,
6060 74 61 69 6c 29 20 2c 66 72 6f 6e 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 74 61 69 6c 0a tail).,front))........(if.,tail.
6080 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 2c 66 72 6f ...........(nconc.(nreverse.,fro
60a0 6e 74 29 20 28 63 64 72 20 2c 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 nt).(cdr.,tail))..........(nreve
60c0 72 73 65 20 2c 66 72 6f 6e 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d rse.,front)))))..(defun.-remove-
60e0 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 first.(pred.list)..."Remove.the.
6100 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 first.item.from.LIST.for.which.P
6120 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e RED.returns.non-nil..This.is.a.n
6140 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e on-destructive.operation,.but.on
6160 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 6c 65 61 64 69 6e 67 20 75 70 20 ly.the.front.of.LIST.leading.up.
6180 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 to.the.removed.item.is.a.copy;.t
61a0 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e he.rest.is.LIST's.original.tail.
61c0 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 ..If.no.item.is.removed,.then.th
61e0 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 41 6c e.result.is.a.complete.copy...Al
6200 69 61 73 3a 20 60 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 ias:.`-reject-first'...This.func
6220 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 tion's.anaphoric.counterpart.is.
6240 60 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 `--remove-first'...See.also.`-ma
6260 70 2d 66 69 72 73 74 27 2c 20 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 27 2c 20 61 6e 64 20 60 2d p-first',.`-remove-item',.and.`-
6280 72 65 6d 6f 76 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 remove-last'."...(declare.(impor
62a0 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 6d 6f 76 tant-return-value.t))...(--remov
62c0 65 2d 66 69 72 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 e-first.(funcall.pred.it).list))
62e0 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 23 27 2d 71 75 6f 74 69 6e 67 20 74 68 65 20 6d 61 63 72 6f 20 ..;;.TODO:.#'-quoting.the.macro.
6300 75 70 73 65 74 73 20 45 6d 61 63 73 20 32 34 2e 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6a upsets.Emacs.24..(defalias.'-rej
6320 65 63 74 2d 66 69 72 73 74 20 23 27 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 29 0a 28 64 65 66 61 ect-first.#'-remove-first).(defa
6340 6c 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 20 27 2d 2d 72 65 6d 6f 76 65 2d 66 lias.'--reject-first.'--remove-f
6360 69 72 73 74 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 irst)..(defmacro.--remove-last.(
6380 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 form.list)..."Remove.the.last.it
63a0 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c em.from.LIST.for.which.FORM.eval
63c0 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 s.to.non-nil..Each.element.of.LI
63e0 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f ST.in.turn.is.bound.to.`it'.befo
6400 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 re.evaluating.FORM...The.result.
6420 69 73 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 is.a.copy.of.LIST.regardless.of.
6440 77 68 65 74 68 65 72 20 61 6e 0a 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 54 whether.an.element.is.removed..T
6460 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 his.is.the.anaphoric.counterpart
6480 20 74 6f 20 60 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .to.`-remove-last'."...(declare.
64a0 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6e 72 65 76 65 72 73 (debug.(form.form)))...`(nrevers
64c0 65 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 2c 66 6f 72 6d 20 28 72 65 76 65 72 73 65 e.(--remove-first.,form.(reverse
64e0 20 2c 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 .,list))))..(defun.-remove-last.
6500 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 (pred.list)..."Remove.the.last.i
6520 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 tem.from.LIST.for.which.PRED.ret
6540 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f urns.non-nil..The.result.is.a.co
6560 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 py.of.LIST.regardless.of.whether
6580 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 61 73 3a 20 .an.element.is.removed...Alias:.
65a0 60 2d 72 65 6a 65 63 74 2d 6c 61 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 `-reject-last'...This.function's
65c0 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d .anaphoric.counterpart.is.`--rem
65e0 6f 76 65 2d 6c 61 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 70 2d 6c 61 73 74 27 ove-last'...See.also.`-map-last'
6600 2c 20 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 27 2c 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 2d 66 ,.`-remove-item',.and.`-remove-f
6620 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 irst'."...(declare.(important-re
6640 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 turn-value.t))...(--remove-last.
6660 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c (funcall.pred.it).list))..(defal
6680 69 61 73 20 27 2d 72 65 6a 65 63 74 2d 6c 61 73 74 20 27 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 29 ias.'-reject-last.'-remove-last)
66a0 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 2d 6c 61 73 74 20 27 2d 2d 72 65 6d .(defalias.'--reject-last.'--rem
66c0 6f 76 65 2d 6c 61 73 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6d 6f 76 65 2d 69 74 ove-last)..(defalias.'-remove-it
66e0 65 6d 20 23 27 72 65 6d 6f 76 65 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 em.#'remove..."Return.a.copy.of.
6700 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 49 54 45 LIST.with.all.occurrences.of.ITE
6720 4d 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e M.removed..The.comparison.is.don
6740 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2e 0a 5c 6e 28 66 6e 20 49 54 45 4d 20 4c 49 53 54 29 e.with.`equal'..\n(fn.ITEM.LIST)
6760 22 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6b 65 65 70 20 28 66 6f 72 6d 20 6c 69 73 74 29 ")..(defmacro.--keep.(form.list)
6780 0a 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c ..."Eval.FORM.for.each.item.in.L
67a0 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c IST.and.return.the.non-nil.resul
67c0 74 73 2e 0a 4c 69 6b 65 20 60 2d 2d 66 69 6c 74 65 72 27 2c 20 62 75 74 20 72 65 74 75 72 6e 73 ts..Like.`--filter',.but.returns
67e0 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4f 52 4d 20 69 6e 73 .the.non-nil.results.of.FORM.ins
6800 74 65 61 64 0a 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e tead.of.the.corresponding.elemen
6820 74 73 20 6f 66 20 4c 49 53 54 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 ts.of.LIST...Each.element.of.LIS
6840 54 20 69 6e 0a 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 T.in.turn.is.bound.to.`it'.and.i
6860 74 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 ts.index.within.LIST.to.`it-inde
6880 78 27 0a 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 x'.before.evaluating.FORM..This.
68a0 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 is.the.anaphoric.counterpart.to.
68c0 60 2d 6b 65 65 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 `-keep'."...(declare.(debug.(for
68e0 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f m.form)))...(let.((r.(make-symbo
6900 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6d 20 28 6d 61 6b 65 2d 73 79 l."result")).........(m.(make-sy
6920 6d 62 6f 6c 20 22 6d 61 70 70 65 64 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a mbol."mapped"))).....`(let.(,r).
6940 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 6c 65 74 20 28 28 2c 6d 20 2c .......(--each.,list.(let.((,m.,
6960 66 6f 72 6d 29 29 20 28 77 68 65 6e 20 2c 6d 20 28 70 75 73 68 20 2c 6d 20 2c 72 29 29 29 29 0a form)).(when.,m.(push.,m.,r)))).
6980 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 .......(nreverse.,r))))..(defun.
69a0 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 -keep.(fn.list)..."Return.a.new.
69c0 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 61 list.of.the.non-nil.results.of.a
69e0 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e pplying.FN.to.each.item.in.LIST.
6a00 0a 4c 69 6b 65 20 60 2d 66 69 6c 74 65 72 27 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 .Like.`-filter',.but.returns.the
6a20 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e 20 69 6e 73 74 65 61 64 20 6f .non-nil.results.of.FN.instead.o
6a40 66 0a 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 f.the.corresponding.elements.of.
6a60 4c 49 53 54 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 LIST...Its.anaphoric.counterpart
6a80 20 69 73 20 60 2d 2d 6b 65 65 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 .is.`--keep'."...(declare.(impor
6aa0 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6b 65 65 70 20 tant-return-value.t))...(--keep.
6ac0 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d (funcall.fn.it).list))..(defun.-
6ae0 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 non-nil.(list)..."Return.a.copy.
6b00 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 of.LIST.with.all.nil.items.remov
6b20 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 ed."...(declare.(side-effect-fre
6b40 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6c 74 65 72 20 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 e.t))...(--filter.it.list))..(de
6b60 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 6f 72 6d 20 6c 69 73 74 29 fmacro.--map-indexed.(form.list)
6b80 0a 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c ..."Eval.FORM.for.each.item.in.L
6ba0 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c IST.and.return.the.list.of.resul
6bc0 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e ts..Each.element.of.LIST.in.turn
6be0 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a .is.bound.to.`it'.and.its.index.
6c00 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 within.LIST.to.`it-index'.before
6c20 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 0a .evaluating.FORM...This.is.like.
6c40 60 2d 2d 6d 61 70 27 2c 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 `--map',.but.additionally.makes.
6c60 60 69 74 2d 69 6e 64 65 78 27 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 46 4f 52 4d 2e 0a 0a 54 `it-index'.available.to.FORM...T
6c80 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 his.is.the.anaphoric.counterpart
6ca0 20 74 6f 20 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .to.`-map-indexed'."...(declare.
6cc0 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 (debug.(form.form)))...(let.((r.
6ce0 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c (make-symbol."result"))).....`(l
6d00 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 et.(,r)........(--each.,list....
6d20 20 20 20 20 20 20 28 70 75 73 68 20 2c 66 6f 72 6d 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e ......(push.,form.,r))........(n
6d40 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 69 6e 64 65 reverse.,r))))..(defun.-map-inde
6d60 78 65 64 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 xed.(fn.list)..."Apply.FN.to.eac
6d80 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 h.index.and.item.in.LIST.and.ret
6da0 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 urn.the.list.of.results..This.is
6dc0 20 6c 69 6b 65 20 60 2d 6d 61 70 27 2c 20 62 75 74 20 46 4e 20 74 61 6b 65 73 20 74 77 6f 20 61 .like.`-map',.but.FN.takes.two.a
6de0 72 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 63 75 72 72 65 rguments:.the.index.of.the.curre
6e00 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 4c 49 53 54 2c 20 61 6e 64 20 74 68 65 20 nt.element.within.LIST,.and.the.
6e20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 element.itself...This.function's
6e40 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 61 70 .anaphoric.counterpart.is.`--map
6e60 2d 69 6e 64 65 78 65 64 27 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 -indexed'...For.a.side-effecting
6e80 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 .variant,.see.also.`-each-indexe
6ea0 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 d'."...(declare.(important-retur
6ec0 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 75 n-value.t))...(--map-indexed.(fu
6ee0 6e 63 61 6c 6c 20 66 6e 20 69 74 2d 69 6e 64 65 78 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 ncall.fn.it-index.it).list))..(d
6f00 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 efmacro.--map-when.(pred.rep.lis
6f20 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 77 68 t)..."Anaphoric.form.of.`-map-wh
6f40 65 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f en'."...(declare.(debug.(form.fo
6f60 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 rm.form)))...(let.((r.(make-symb
6f80 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 ol."result"))).....`(let.(,r)...
6fa0 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 21 63 6f 6e 73 20 28 69 66 20 2c 70 .....(--each.,list.(!cons.(if.,p
6fc0 72 65 64 20 2c 72 65 70 20 69 74 29 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 red.,rep.it).,r))........(nrever
6fe0 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 se.,r))))..(defun.-map-when.(pre
7000 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 55 73 65 20 50 52 45 44 20 74 6f 20 63 6f 6e 64 69 d.rep.list)..."Use.PRED.to.condi
7020 74 69 6f 6e 61 6c 6c 79 20 61 70 70 6c 79 20 52 45 50 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 tionally.apply.REP.to.each.item.
7040 69 6e 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 in.LIST..Return.a.copy.of.LIST.w
7060 68 65 72 65 20 74 68 65 20 69 74 65 6d 73 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 here.the.items.for.which.PRED.re
7080 74 75 72 6e 73 20 6e 69 6c 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 74 68 65 turns.nil.are.unchanged,.and.the
70a0 20 72 65 73 74 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 52 45 50 .rest.are.mapped.through.the.REP
70c0 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 70 6c 61 63 65 2d 77 68 65 .function...Alias:.`-replace-whe
70e0 72 65 27 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 75 70 64 61 74 65 2d 61 74 27 22 0a 20 20 28 re'..See.also:.`-update-at'"...(
7100 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 declare.(important-return-value.
7120 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 t))...(--map-when.(funcall.pred.
7140 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 72 65 70 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 it).(funcall.rep.it).list))..(de
7160 66 61 6c 69 61 73 20 27 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 6d 61 70 2d 77 68 65 falias.'-replace-where.'-map-whe
7180 6e 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d n).(defalias.'--replace-where.'-
71a0 2d 6d 61 70 2d 77 68 65 6e 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 -map-when)..(defun.-map-first.(p
71c0 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 55 73 65 20 50 52 45 44 20 74 6f 20 64 65 74 red.rep.list)..."Use.PRED.to.det
71e0 65 72 6d 69 6e 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 74 6f ermine.the.first.item.in.LIST.to
7200 20 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c .call.REP.on..Return.a.copy.of.L
7220 49 53 54 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 IST.where.the.first.item.for.whi
7240 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 20 69 73 20 72 65 70 6c 61 ch.PRED.returns.non-nil.is.repla
7260 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 52 ced.with.the.result.of.calling.R
7280 45 50 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 EP.on.that.item...See.also:.`-ma
72a0 70 2d 77 68 65 6e 27 2c 20 60 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 27 22 0a 20 20 28 64 65 p-when',.`-replace-first'"...(de
72c0 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 clare.(important-return-value.t)
72e0 29 0a 20 20 28 6c 65 74 20 28 66 72 6f 6e 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 )...(let.(front).....(while.(and
7300 20 6c 69 73 74 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 28 63 61 72 20 6c 69 .list.(not.(funcall.pred.(car.li
7320 73 74 29 29 29 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 66 72 st)))).......(push.(car.list).fr
7340 6f 6e 74 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 69 66 20 ont).......(!cdr.list)).....(if.
7360 6c 69 73 74 0a 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 list.........(-concat.(nreverse.
7380 66 72 6f 6e 74 29 20 28 63 6f 6e 73 20 28 66 75 6e 63 61 6c 6c 20 72 65 70 20 28 63 61 72 20 6c front).(cons.(funcall.rep.(car.l
73a0 69 73 74 29 29 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 ist)).(cdr.list))).......(nrever
73c0 73 65 20 66 72 6f 6e 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 66 69 se.front))))..(defmacro.--map-fi
73e0 72 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 rst.(pred.rep.list)..."Anaphoric
7400 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 .form.of.`-map-first'."...(decla
7420 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 re.(debug.(def-form.def-form.for
7440 6d 29 29 29 0a 20 20 60 28 2d 6d 61 70 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 m)))...`(-map-first.(lambda.(it)
7460 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(ignore.it).,pred).............
7480 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 72 65 70 ...(lambda.(it).(ignore.it).,rep
74a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e )................,list))..(defun
74c0 20 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 55 73 .-map-last.(pred.rep.list)..."Us
74e0 65 20 50 52 45 44 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 e.PRED.to.determine.the.last.ite
7500 6d 20 69 6e 20 4c 49 53 54 20 74 6f 20 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 0a 52 65 74 75 72 6e m.in.LIST.to.call.REP.on..Return
7520 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 20 74 68 65 20 6c 61 73 74 20 69 .a.copy.of.LIST.where.the.last.i
7540 74 65 6d 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e tem.for.which.PRED.returns.non-n
7560 69 6c 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f il.is.replaced.with.the.result.o
7580 66 20 63 61 6c 6c 69 6e 67 20 52 45 50 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 53 65 65 f.calling.REP.on.that.item...See
75a0 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2c 20 60 2d 72 65 70 6c 61 63 65 2d 6c 61 .also:.`-map-when',.`-replace-la
75c0 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 st'"...(declare.(important-retur
75e0 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 2d 6d 61 70 2d 66 69 n-value.t))...(nreverse.(-map-fi
7600 72 73 74 20 70 72 65 64 20 72 65 70 20 28 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 29 29 0a 0a rst.pred.rep.(reverse.list))))..
7620 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c (defmacro.--map-last.(pred.rep.l
7640 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d ist)..."Anaphoric.form.of.`-map-
7660 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 last'."...(declare.(debug.(def-f
7680 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 6d 61 70 2d 6c 61 orm.def-form.form)))...`(-map-la
76a0 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 70 72 65 st.(lambda.(it).(ignore.it).,pre
76c0 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 d)...............(lambda.(it).(i
76e0 67 6e 6f 72 65 20 69 74 29 20 2c 72 65 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c gnore.it).,rep)...............,l
7700 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 ist))..(defun.-replace.(old.new.
7720 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f 4c 44 20 69 74 65 6d 73 20 69 list)..."Replace.all.OLD.items.i
7740 6e 20 4c 49 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 n.LIST.with.NEW...Elements.are.c
7760 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f ompared.using.`equal'...See.also
7780 3a 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 :.`-replace-at'"...(declare.(pur
77a0 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d e.t).(side-effect-free.t))...(--
77c0 6d 61 70 2d 77 68 65 6e 20 28 65 71 75 61 6c 20 69 74 20 6f 6c 64 29 20 6e 65 77 20 6c 69 73 74 map-when.(equal.it.old).new.list
77e0 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e ))..(defun.-replace-first.(old.n
7800 65 77 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 ew.list)..."Replace.the.first.oc
7820 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 currence.of.OLD.with.NEW.in.LIST
7840 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 ...Elements.are.compared.using.`
7860 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 22 equal'...See.also:.`-map-first'"
7880 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
78a0 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 65 71 75 61 6c t-free.t))...(--map-first.(equal
78c0 20 6f 6c 64 20 69 74 29 20 6e 65 77 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 .old.it).new.list))..(defun.-rep
78e0 6c 61 63 65 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c lace-last.(old.new.list)..."Repl
7900 61 63 65 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 ace.the.last.occurrence.of.OLD.w
7920 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 ith.NEW.in.LIST...Elements.are.c
7940 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f ompared.using.`equal'...See.also
7960 3a 20 60 2d 6d 61 70 2d 6c 61 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 :.`-map-last'"...(declare.(pure.
7980 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 t).(side-effect-free.t))...(--ma
79a0 70 2d 6c 61 73 74 20 28 65 71 75 61 6c 20 6f 6c 64 20 69 74 29 20 6e 65 77 20 6c 69 73 74 29 29 p-last.(equal.old.it).new.list))
79c0 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 63 61 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 ..(defmacro.--mapcat.(form.list)
79e0 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 63 61 74 27 2e ..."Anaphoric.form.of.`-mapcat'.
7a00 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 "...(declare.(debug.(form.form))
7a20 29 0a 20 20 60 28 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 20 28 2d 2d 6d 61 70 20 2c 66 6f 72 )...`(apply.#'append.(--map.,for
7a40 6d 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c m.,list)))..(defun.-mapcat.(fn.l
7a60 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e ist)..."Return.the.concatenation
7a80 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 46 4e 20 6f 76 65 .of.the.result.of.mapping.FN.ove
7aa0 72 20 4c 49 53 54 2e 0a 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 r.LIST..Thus.function.FN.should.
7ac0 72 65 74 75 72 6e 20 61 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f return.a.list."...(declare.(impo
7ae0 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 63 rtant-return-value.t))...(--mapc
7b00 61 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d at.(funcall.fn.it).list))..(defm
7b20 61 63 72 6f 20 2d 2d 69 74 65 72 61 74 65 20 28 66 6f 72 6d 20 69 6e 69 74 20 6e 29 0a 20 20 22 acro.--iterate.(form.init.n)..."
7b40 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 69 74 65 72 61 74 65 27 2e Anaphoric.version.of.`-iterate'.
7b60 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 "...(declare.(debug.(form.form.f
7b80 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c orm)))...(let.((res.(make-symbol
7ba0 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6d 61 6b 65 2d 73 ."result")).........(len.(make-s
7bc0 79 6d 62 6f 6c 20 22 6e 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 65 6e 20 2c 6e ymbol."n"))).....`(let.((,len.,n
7be0 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 2c 6c 65 6e 20 30 29 0a 20 20 20 20 20 ))........(when.(>.,len.0)......
7c00 20 20 20 20 28 6c 65 74 2a 20 28 28 69 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 ....(let*.((it.,init)...........
7c20 20 20 20 20 20 20 28 2c 72 65 73 20 28 6c 69 73 74 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 ......(,res.(list.it))).........
7c40 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 28 31 2d 20 2c 6c 65 6e 29 29 0a 20 20 20 20 20 20 ...(dotimes.(_.(1-.,len)).......
7c60 20 20 20 20 20 20 20 28 70 75 73 68 20 28 73 65 74 71 20 69 74 20 2c 66 6f 72 6d 29 20 2c 72 65 .......(push.(setq.it.,form).,re
7c80 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 65 73 29 29 29 s))............(nreverse.,res)))
7ca0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e )))..(defun.-iterate.(fun.init.n
7cc0 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 )..."Return.a.list.of.iterated.a
7ce0 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 54 68 69 pplications.of.FUN.to.INIT...Thi
7d00 73 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 28 s.means.a.list.of.the.form:....(
7d20 49 4e 49 54 20 28 46 55 4e 20 49 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 INIT.(FUN.INIT).(FUN.(FUN.INIT))
7d40 20 2e 2e 2e 29 0a 0a 4e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 ....)..N.is.the.length.of.the.re
7d60 74 75 72 6e 65 64 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 turned.list."...(declare.(import
7d80 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 69 74 65 72 61 74 ant-return-value.t))...(--iterat
7da0 65 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 20 69 6e 69 74 20 6e 29 29 0a 0a 28 64 65 e.(funcall.fun.it).init.n))..(de
7dc0 66 75 6e 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 22 54 61 6b 65 20 61 20 6e 65 73 74 65 fun.-flatten.(l)..."Take.a.neste
7de0 64 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 d.list.L.and.return.its.contents
7e00 20 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 .as.a.single,.flat.list...Note.t
7e20 68 61 74 20 62 65 63 61 75 73 65 20 6e 69 6c 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 hat.because.nil.represents.a.lis
7e40 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 t.of.zero.elements.(an.empty.lis
7e60 74 29 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 4c 20 77 69 6c 6c t),.any.mention.of.nil.in.L.will
7e80 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 .disappear.after.flattening...If
7ea0 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 .you.need.to.preserve.nils,.cons
7ec0 69 64 65 72 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f ider.`-flatten-n'.or.map.them.to
7ee0 20 73 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 .some.unique.symbol.and.then.map
7f00 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 .them.back...Conses.of.two.atoms
7f20 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 5c 22 74 65 72 6d 69 6e 61 6c 73 5c 22 2c 20 74 .are.considered.\"terminals\",.t
7f40 68 61 74 20 69 73 2c 20 74 68 65 79 0a 61 72 65 6e 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 hat.is,.they.aren't.flattened.fu
7f60 72 74 68 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 22 0a rther...See.also:.`-flatten-n'".
7f80 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 ..(declare.(pure.t).(side-effect
7fa0 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 6c 69 73 74 70 20 6c 29 20 28 -free.t))...(if.(and.(listp.l).(
7fc0 6c 69 73 74 70 20 28 63 64 72 20 6c 29 29 29 0a 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 27 listp.(cdr.l))).......(-mapcat.'
7fe0 2d 66 6c 61 74 74 65 6e 20 6c 29 0a 20 20 20 20 28 6c 69 73 74 20 6c 29 29 29 0a 0a 28 64 65 66 -flatten.l).....(list.l)))..(def
8000 75 6e 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 6d 20 6c 69 73 74 29 0a 20 20 22 46 6c 61 74 un.-flatten-n.(num.list)..."Flat
8020 74 65 6e 20 4e 55 4d 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e ten.NUM.levels.of.a.nested.LIST.
8040 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 74 74 65 6e 27 22 0a 20 20 28 64 65 63 6c 61 ..See.also:.`-flatten'"...(decla
8060 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 re.(pure.t).(side-effect-free.t)
8080 29 0a 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 6e 75 6d 29 0a 20 20 20 20 28 73 65 74 71 20 6c )...(dotimes.(_.num).....(setq.l
80a0 69 73 74 20 28 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 23 27 2d 6c ist.(apply.#'append.(mapcar.#'-l
80c0 69 73 74 20 6c 69 73 74 29 29 29 29 0a 20 20 6c 69 73 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 ist.list))))...list)..(defalias.
80e0 27 2d 63 6f 6e 63 61 74 20 23 27 61 70 70 65 6e 64 0a 20 20 22 43 6f 6e 63 61 74 65 6e 61 74 65 '-concat.#'append..."Concatenate
8100 20 61 6c 6c 20 53 45 51 55 45 4e 43 45 53 20 61 6e 64 20 6d 61 6b 65 20 74 68 65 20 72 65 73 75 .all.SEQUENCES.and.make.the.resu
8120 6c 74 20 61 20 6c 69 73 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 lt.a.list..The.result.is.a.list.
8140 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 whose.elements.are.the.elements.
8160 6f 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 45 61 63 68 20 61 72 67 75 6d of.all.the.arguments..Each.argum
8180 65 6e 74 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 76 65 63 74 6f 72 20 6f 72 20 73 74 72 ent.may.be.a.list,.vector.or.str
81a0 69 6e 67 2e 0a 0a 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 65 78 63 65 70 74 20 74 68 65 20 6c ing...All.arguments.except.the.l
81c0 61 73 74 20 61 72 67 75 6d 65 6e 74 20 61 72 65 20 63 6f 70 69 65 64 2e 20 20 54 68 65 20 6c 61 ast.argument.are.copied...The.la
81e0 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73 20 6a 75 73 74 20 75 73 65 64 20 61 73 20 74 68 65 20 st.argument.is.just.used.as.the.
8200 74 61 69 6c 20 6f 66 20 74 68 65 20 6e 65 77 20 6c 69 73 74 2e 20 20 49 66 20 74 68 65 20 6c 61 tail.of.the.new.list...If.the.la
8220 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 0a 61 20 6c 69 73 74 2c 20 74 68 69 73 20 st.argument.is.not.a.list,.this.
8240 72 65 73 75 6c 74 73 20 69 6e 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 0a 0a 41 73 20 61 6e results.in.a.dotted.list...As.an
8260 20 65 78 63 65 70 74 69 6f 6e 2c 20 69 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 .exception,.if.all.the.arguments
8280 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 61 72 65 20 6e 69 6c 2c 20 61 6e 64 20 74 68 .except.the.last.are.nil,.and.th
82a0 65 0a 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 e.last.argument.is.not.a.list,.t
82c0 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 61 74 20 6c 61 73 74 20 61 72 67 he.return.value.is.that.last.arg
82e0 75 6d 65 6e 74 0a 75 6e 61 6c 74 65 72 65 64 2c 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 5c 28 ument.unaltered,.not.a.list...\(
8300 66 6e 20 26 72 65 73 74 20 53 45 51 55 45 4e 43 45 53 29 22 29 0a 0a 28 64 65 66 61 6c 69 61 73 fn.&rest.SEQUENCES)")..(defalias
8320 20 27 2d 63 6f 70 79 20 23 27 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 0a 20 20 22 43 72 65 61 74 .'-copy.#'copy-sequence..."Creat
8340 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 54 68 65 20 65 6c e.a.shallow.copy.of.LIST..The.el
8360 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 72 65 20 6e 6f 74 20 63 6f 70 69 65 64 3b 20 74 ements.of.LIST.are.not.copied;.t
8380 68 65 79 20 61 72 65 20 73 68 61 72 65 64 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69 6e 61 6c hey.are.shared.with.the.original
83a0 2e 0a 5c 6e 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c ..\n(fn.LIST)")..(defmacro.--spl
83c0 69 63 65 20 28 70 72 65 64 20 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 6c ice.(pred.form.list)..."Splice.l
83e0 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 46 4f 52 4d 20 69 6e 20 70 6c 61 63 65 20 ists.generated.by.FORM.in.place.
8400 6f 66 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 of.items.satisfying.PRED.in.LIST
8420 2e 0a 0a 45 76 61 6c 75 61 74 65 20 50 52 45 44 20 66 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e ...Evaluate.PRED.for.each.elemen
8440 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 2e t.of.LIST.in.turn.bound.to.`it'.
8460 0a 57 68 65 6e 65 76 65 72 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 73 20 .Whenever.the.result.of.PRED.is.
8480 6e 69 6c 2c 20 6c 65 61 76 65 20 74 68 61 74 20 60 69 74 27 20 69 73 2d 69 73 2e 0a 4f 74 68 65 nil,.leave.that.`it'.is-is..Othe
84a0 72 77 69 73 65 2c 20 65 76 61 6c 75 61 74 65 20 46 4f 52 4d 20 77 69 74 68 20 74 68 65 20 73 61 rwise,.evaluate.FORM.with.the.sa
84c0 6d 65 20 60 69 74 27 20 62 69 6e 64 69 6e 67 20 73 74 69 6c 6c 20 69 6e 0a 70 6c 61 63 65 2e 20 me.`it'.binding.still.in.place..
84e0 20 54 68 65 20 72 65 73 75 6c 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c .The.result.should.be.a.(possibl
8500 79 20 65 6d 70 74 79 29 20 6c 69 73 74 20 6f 66 20 69 74 65 6d 73 20 74 6f 0a 73 70 6c 69 63 65 y.empty).list.of.items.to.splice
8520 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 60 69 74 27 20 69 6e 20 4c 49 53 54 2e 0a 0a 54 68 69 73 .in.place.of.`it'.in.LIST...This
8540 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 .can.be.useful.as.an.alternative
8560 20 74 6f 20 74 68 65 20 60 2c 40 27 20 63 6f 6e 73 74 72 75 63 74 20 69 6e 20 61 0a 60 5c 5c 3d .to.the.`,@'.construct.in.a.`\\=
8580 60 27 20 73 74 72 75 63 74 75 72 65 2c 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 20 74 `'.structure,.in.case.you.need.t
85a0 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 0a 6d 61 72 6b 65 64 o.splice.several.lists.at.marked
85c0 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 .positions.(for.example.with.key
85e0 77 6f 72 64 73 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 words)...This.is.the.anaphoric.c
8600 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 73 70 6c 69 63 65 27 2e 22 0a 20 20 28 64 65 63 ounterpart.to.`-splice'."...(dec
8620 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 lare.(debug.(form.form.form)))..
8640 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 .(let.((r.(make-symbol."result")
8660 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 )).....`(let.(,r)........(--each
8680 20 2c 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 70 72 65 64 0a 20 20 20 20 20 20 .,list..........(if.,pred.......
86a0 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 66 6f 72 6d 20 28 70 75 73 68 20 69 74 20 2c 72 .......(--each.,form.(push.it.,r
86c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 29 0a 20 20 20 ))............(push.it.,r)))....
86e0 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 ....(nreverse.,r))))..(defun.-sp
8700 6c 69 63 65 20 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 6c lice.(pred.fun.list)..."Splice.l
8720 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f ists.generated.by.FUN.in.place.o
8740 66 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e f.items.satisfying.PRED.in.LIST.
8760 0a 0a 43 61 6c 6c 20 50 52 45 44 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c ..Call.PRED.on.each.element.of.L
8780 49 53 54 2e 20 20 57 68 65 6e 65 76 65 72 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 IST...Whenever.the.result.of.PRE
87a0 44 0a 69 73 20 6e 69 6c 2c 20 6c 65 61 76 65 20 74 68 61 74 20 60 69 74 27 20 61 73 2d 69 73 2e D.is.nil,.leave.that.`it'.as-is.
87c0 20 20 4f 74 68 65 72 77 69 73 65 2c 20 63 61 6c 6c 20 46 55 4e 20 6f 6e 20 74 68 65 20 73 61 6d ..Otherwise,.call.FUN.on.the.sam
87e0 65 0a 60 69 74 27 20 74 68 61 74 20 73 61 74 69 73 66 69 65 64 20 50 52 45 44 2e 20 20 54 68 65 e.`it'.that.satisfied.PRED...The
8800 20 72 65 73 75 6c 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 0a 65 6d .result.should.be.a.(possibly.em
8820 70 74 79 29 20 6c 69 73 74 20 6f 66 20 69 74 65 6d 73 20 74 6f 20 73 70 6c 69 63 65 20 69 6e 20 pty).list.of.items.to.splice.in.
8840 70 6c 61 63 65 20 6f 66 20 60 69 74 27 20 69 6e 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 63 61 6e place.of.`it'.in.LIST...This.can
8860 20 62 65 20 75 73 65 66 75 6c 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 .be.useful.as.an.alternative.to.
8880 74 68 65 20 60 2c 40 27 20 63 6f 6e 73 74 72 75 63 74 20 69 6e 20 61 0a 60 5c 5c 3d 60 27 20 73 the.`,@'.construct.in.a.`\\=`'.s
88a0 74 72 75 63 74 75 72 65 2c 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 70 tructure,.in.case.you.need.to.sp
88c0 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 0a 6d 61 72 6b 65 64 20 70 6f 73 lice.several.lists.at.marked.pos
88e0 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 77 6f 72 64 itions.(for.example.with.keyword
8900 73 29 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 s)...This.function's.anaphoric.c
8920 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 73 70 6c 69 63 65 27 2e 0a 0a 53 65 65 20 61 ounterpart.is.`--splice'...See.a
8940 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 27 2c 20 60 2d 69 6e 73 65 72 74 2d 61 74 lso:.`-splice-list',.`-insert-at
8960 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e '."...(declare.(important-return
8980 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 73 70 6c 69 63 65 20 28 66 75 6e 63 61 6c 6c 20 -value.t))...(--splice.(funcall.
89a0 70 72 65 64 20 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 20 6c 69 73 74 29 29 pred.it).(funcall.fun.it).list))
89c0 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d ..(defun.-splice-list.(pred.new-
89e0 6c 69 73 74 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 4e 45 57 2d 4c 49 53 54 20 69 6e list.list)..."Splice.NEW-LIST.in
8a00 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 .place.of.elements.matching.PRED
8a20 20 69 6e 20 4c 49 53 54 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 .in.LIST...See.also:.`-splice',.
8a40 60 2d 69 6e 73 65 72 74 2d 61 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 `-insert-at'"...(declare.(import
8a60 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 73 70 6c 69 63 65 20 ant-return-value.t))...(-splice.
8a80 70 72 65 64 20 28 6c 61 6d 62 64 61 20 28 5f 29 20 6e 65 77 2d 6c 69 73 74 29 20 6c 69 73 74 29 pred.(lambda.(_).new-list).list)
8aa0 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 )..(defmacro.--splice-list.(pred
8ac0 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 .new-list.list)..."Anaphoric.for
8ae0 6d 20 6f 66 20 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 m.of.`-splice-list'."...(declare
8b00 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 .(debug.(def-form.form.form)))..
8b20 20 60 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 .`(-splice-list.(lambda.(it).(ig
8b40 6e 6f 72 65 20 69 74 29 20 2c 70 72 65 64 29 20 2c 6e 65 77 2d 6c 69 73 74 20 2c 6c 69 73 74 29 nore.it).,pred).,new-list.,list)
8b60 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 )..(defun.-cons*.(&rest.args)...
8b80 22 4d 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e "Make.a.new.list.from.the.elemen
8ba0 74 73 20 6f 66 20 41 52 47 53 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 ts.of.ARGS..The.last.2.elements.
8bc0 6f 66 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 63 6f of.ARGS.are.used.as.the.final.co
8be0 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 ns.of.the.result,.so.if.the.fina
8c00 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c l.element.of.ARGS.is.not.a.list,
8c20 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 20 57 .the.result.is.a.dotted.list...W
8c40 69 74 68 20 6e 6f 20 41 52 47 53 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 64 65 63 ith.no.ARGS,.return.nil."...(dec
8c60 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 lare.(side-effect-free.t))...(le
8c80 74 2a 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 t*.((len.(length.args)).........
8ca0 20 28 74 61 69 6c 20 28 6e 74 68 63 64 72 20 28 2d 20 6c 65 6e 20 32 29 20 61 72 67 73 29 29 0a .(tail.(nthcdr.(-.len.2).args)).
8cc0 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 20 28 63 64 72 20 74 61 69 6c 29 29 29 0a 20 20 20 20 .........(last.(cdr.tail))).....
8ce0 28 69 66 20 28 6e 75 6c 6c 20 6c 61 73 74 29 0a 20 20 20 20 20 20 20 20 28 63 61 72 20 61 72 67 (if.(null.last).........(car.arg
8d00 73 29 0a 20 20 20 20 20 20 28 73 65 74 63 64 72 20 74 61 69 6c 20 28 63 61 72 20 6c 61 73 74 29 s).......(setcdr.tail.(car.last)
8d20 29 0a 20 20 20 20 20 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 6e 6f 63 20 28 6c ).......args)))..(defun.-snoc.(l
8d40 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 20 20 22 41 70 70 65 ist.elem.&rest.elements)..."Appe
8d60 6e 64 20 45 4c 45 4d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a nd.ELEM.to.the.end.of.the.list..
8d80 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 63 6f 6e 73 27 2c 20 62 75 74 20 6f 70 65 72 61 74 .This.is.like.`cons',.but.operat
8da0 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 49 66 20 61 6e 79 20 45 es.on.the.end.of.list...If.any.E
8dc0 4c 45 4d 45 4e 54 53 20 61 72 65 20 67 69 76 65 6e 2c 20 61 70 70 65 6e 64 20 74 68 65 6d 20 74 LEMENTS.are.given,.append.them.t
8de0 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 o.the.list.as.well."...(declare.
8e00 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 63 6f 6e 63 61 74 (side-effect-free.t))...(-concat
8e20 20 6c 69 73 74 20 28 6c 69 73 74 20 65 6c 65 6d 29 20 65 6c 65 6d 65 6e 74 73 29 29 0a 0a 28 64 .list.(list.elem).elements))..(d
8e40 65 66 6d 61 63 72 6f 20 2d 2d 66 69 72 73 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 efmacro.--first.(form.list)..."R
8e60 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 66 6f 72 eturn.the.first.item.in.LIST.for
8e80 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 .which.FORM.evals.to.non-nil..Re
8ea0 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 turn.nil.if.no.such.element.is.f
8ec0 6f 75 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 ound..Each.element.of.LIST.in.tu
8ee0 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 rn.is.bound.to.`it'.and.its.inde
8f00 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f x.within.LIST.to.`it-index'.befo
8f20 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 re.evaluating.FORM..This.is.the.
8f40 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 72 73 74 anaphoric.counterpart.to.`-first
8f60 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d '."...(declare.(debug.(form.form
8f80 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 )))...(let.((n.(make-symbol."nee
8fa0 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d dle"))).....`(let.(,n)........(-
8fc0 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 28 6f 72 20 28 6e 6f 74 20 2c 66 6f 72 6d -each-while.,list.(or.(not.,form
8fe0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
9000 20 28 69 67 6e 6f 72 65 20 28 73 65 74 71 20 2c 6e 20 69 74 29 29 29 29 0a 20 20 20 20 20 20 20 .(ignore.(setq.,n.it))))........
9020 2c 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 ,n)))..(defun.-first.(pred.list)
9040 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 ..."Return.the.first.item.in.LIS
9060 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c T.for.which.PRED.returns.non-nil
9080 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 ..Return.nil.if.no.such.element.
90a0 69 73 20 66 6f 75 6e 64 2e 0a 0a 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d is.found...To.get.the.first.item
90c0 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c .in.the.list.no.questions.asked,
90e0 0a 75 73 65 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 27 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 66 69 .use.`-first-item'...Alias:.`-fi
9100 6e 64 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 nd'...This.function's.anaphoric.
9120 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 counterpart.is.`--first'."...(de
9140 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 clare.(important-return-value.t)
9160 29 0a 20 20 28 2d 2d 66 69 72 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c )...(--first.(funcall.pred.it).l
9180 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 66 69 6e 64 20 23 27 2d 66 69 72 73 74 ist))..(defalias.'-find.#'-first
91a0 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 66 69 6e 64 20 27 2d 2d 66 69 72 73 74 29 0a 0a 28 ).(defalias.'--find.'--first)..(
91c0 64 65 66 6d 61 63 72 6f 20 2d 2d 73 6f 6d 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 defmacro.--some.(form.list)..."R
91e0 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e eturn.non-nil.if.FORM.evals.to.n
9200 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 69 6e 20 on-nil.for.at.least.one.item.in.
9220 4c 49 53 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 73 75 LIST..If.so,.return.the.first.su
9240 63 68 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 ch.result.of.FORM..Each.element.
9260 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 of.LIST.in.turn.is.bound.to.`it'
9280 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 .and.its.index.within.LIST.to.`i
92a0 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e t-index'.before.evaluating.FORM.
92c0 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 .This.is.the.anaphoric.counterpa
92e0 72 74 20 74 6f 20 60 2d 73 6f 6d 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 rt.to.`-some'."...(declare.(debu
9300 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 g.(form.form)))...(let.((n.(make
9320 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c -symbol."needle"))).....`(let.(,
9340 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 28 6e n)........(--each-while.,list.(n
9360 6f 74 20 28 73 65 74 71 20 2c 6e 20 2c 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 ot.(setq.,n.,form)))........,n))
9380 29 0a 0a 28 64 65 66 75 6e 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 )..(defun.-some.(pred.list)..."R
93a0 65 74 75 72 6e 20 28 50 52 45 44 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 4c 49 53 eturn.(PRED.x).for.the.first.LIS
93c0 54 20 69 74 65 6d 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c T.item.where.(PRED.x).is.non-nil
93e0 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 27 2e 0a 0a 54 68 69 ,.else.nil...Alias:.`-any'...Thi
9400 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s.function's.anaphoric.counterpa
9420 72 74 20 69 73 20 60 2d 2d 73 6f 6d 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 rt.is.`--some'."...(declare.(imp
9440 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 73 6f 6d ortant-return-value.t))...(--som
9460 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 e.(funcall.pred.it).list))..(def
9480 61 6c 69 61 73 20 27 2d 61 6e 79 20 27 2d 73 6f 6d 65 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d alias.'-any.'-some).(defalias.'-
94a0 2d 61 6e 79 20 27 2d 2d 73 6f 6d 65 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 76 65 72 79 -any.'--some)..(defmacro.--every
94c0 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 .(form.list)..."Return.non-nil.i
94e0 66 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 f.FORM.evals.to.non-nil.for.all.
9500 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 items.in.LIST..If.so,.return.the
9520 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 2e 20 20 4f 74 68 65 .last.such.result.of.FORM...Othe
9540 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 rwise,.once.an.item.is.reached.f
9560 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 79 69 65 6c 64 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e or.which.FORM.yields.nil,.return
9580 20 6e 69 6c 20 77 69 74 68 6f 75 74 0a 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 .nil.without.evaluating.FORM.for
95a0 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 45 61 63 68 .any.further.LIST.elements..Each
95c0 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e .element.of.LIST.in.turn.is.boun
95e0 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c d.to.`it'.and.its.index.within.L
9600 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 IST.to.`it-index'.before.evaluat
9620 69 6e 67 20 46 4f 52 4d 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d ing.FORM...This.macro.is.like.`-
9640 2d 65 76 65 72 79 2d 70 27 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e -every-p',.but.on.success.return
9660 73 20 74 68 65 20 6c 61 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 s.the.last.non-nil.result.of.FOR
9680 4d 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 M.instead.of.just.t...This.is.th
96a0 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 76 65 e.anaphoric.counterpart.to.`-eve
96c0 72 79 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f ry'."...(declare.(debug.(form.fo
96e0 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 61 rm)))...(let.((a.(make-symbol."a
9700 6c 6c 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 61 20 74 29 29 0a 20 20 20 20 20 20 ll"))).....`(let.((,a.t)).......
9720 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 28 73 65 74 71 20 2c 61 20 2c 66 .(--each-while.,list.(setq.,a.,f
9740 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 2c 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 76 65 72 orm))........,a)))..(defun.-ever
9760 79 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 y.(pred.list)..."Return.non-nil.
9780 69 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 if.PRED.returns.non-nil.for.all.
97a0 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 items.in.LIST..If.so,.return.the
97c0 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 4f 74 68 65 .last.such.result.of.PRED...Othe
97e0 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 rwise,.once.an.item.is.reached.f
9800 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 65 74 75 72 or.which.PRED.returns.nil,.retur
9820 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e n.nil.without.calling.PRED.on.an
9840 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 y.further.LIST.elements...This.f
9860 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 62 75 74 20 unction.is.like.`-every-p',.but.
9880 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 6e 6f 6e 2d on.success.returns.the.last.non-
98a0 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 nil.result.of.PRED.instead.of.ju
98c0 73 74 20 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 st.t...This.function's.anaphoric
98e0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 76 65 72 79 27 2e 22 0a 20 20 28 64 .counterpart.is.`--every'."...(d
9900 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 eclare.(important-return-value.t
9920 29 29 0a 20 20 28 2d 2d 65 76 65 72 79 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 ))...(--every.(funcall.pred.it).
9940 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6c 61 73 74 20 28 66 6f 72 6d 20 6c list))..(defmacro.--last.(form.l
9960 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6c 61 73 74 ist)..."Anaphoric.form.of.`-last
9980 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d '."...(declare.(debug.(form.form
99a0 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 )))...(let.((n.(make-symbol."nee
99c0 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d dle"))).....`(let.(,n)........(-
99e0 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 66 6f 72 6d -each.,list..........(when.,form
9a00 20 28 73 65 74 71 20 2c 6e 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a 28 64 .(setq.,n.it)))........,n)))..(d
9a20 65 66 75 6e 20 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e efun.-last.(pred.list)..."Return
9a40 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 .the.last.x.in.LIST.where.(PRED.
9a60 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 22 0a 20 20 28 64 65 63 x).is.non-nil,.else.nil."...(dec
9a80 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 lare.(important-return-value.t))
9aa0 0a 20 20 28 2d 2d 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 ...(--last.(funcall.pred.it).lis
9ac0 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 23 27 63 61 t))..(defalias.'-first-item.#'ca
9ae0 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 r..."Return.the.first.item.of.LI
9b00 53 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 ST,.or.nil.on.an.empty.list...Se
9b20 65 20 61 6c 73 6f 3a 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 27 2c 20 60 2d 6c 61 73 74 2d 69 e.also:.`-second-item',.`-last-i
9b40 74 65 6d 27 2c 20 65 74 63 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 3b 3b 20 45 6e 73 tem',.etc...\(fn.LIST)")..;;.Ens
9b60 75 72 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 6f 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 27 20 ure.that.calls.to.`-first-item'.
9b80 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6f 70 63 6f 64 65 2c are.compiled.to.a.single.opcode,
9ba0 0a 3b 3b 20 6a 75 73 74 20 6c 69 6b 65 20 60 63 61 72 27 2e 0a 28 70 75 74 20 27 2d 66 69 72 73 .;;.just.like.`car'..(put.'-firs
9bc0 74 2d 69 74 65 6d 20 27 62 79 74 65 2d 6f 70 63 6f 64 65 20 27 62 79 74 65 2d 63 61 72 29 0a 28 t-item.'byte-opcode.'byte-car).(
9be0 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 27 put.'-first-item.'byte-compile.'
9c00 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 6f 6e 65 2d 61 72 67 29 0a 28 70 75 74 20 27 2d 66 69 72 byte-compile-one-arg).(put.'-fir
9c20 73 74 2d 69 74 65 6d 20 27 70 75 72 65 20 74 29 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 st-item.'pure.t).(put.'-first-it
9c40 65 6d 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 65 66 61 6c 69 em.'side-effect-free.t)..(defali
9c60 61 73 20 27 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 23 27 63 61 64 72 0a 20 20 22 52 65 74 75 72 as.'-second-item.#'cadr..."Retur
9c80 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 n.the.second.item.of.LIST,.or.ni
9ca0 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 l.if.LIST.is.too.short...See.als
9cc0 6f 3a 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 27 2c 20 60 2d 74 68 69 72 64 2d 69 74 65 6d 27 2c o:.`-first-item',.`-third-item',
9ce0 20 65 74 63 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 70 75 74 20 27 2d 73 65 63 6f .etc...\(fn.LIST)")..(put.'-seco
9d00 6e 64 2d 69 74 65 6d 20 27 70 75 72 65 20 74 29 0a 28 70 75 74 20 27 2d 73 65 63 6f 6e 64 2d 69 nd-item.'pure.t).(put.'-second-i
9d20 74 65 6d 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 65 66 61 6c tem.'side-effect-free.t)..(defal
9d40 69 61 73 20 27 2d 74 68 69 72 64 2d 69 74 65 6d 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 ias.'-third-item...(if.(fboundp.
9d60 27 63 61 64 64 72 29 0a 20 20 20 20 20 20 23 27 63 61 64 64 72 0a 20 20 20 20 28 6c 61 6d 62 64 'caddr).......#'caddr.....(lambd
9d80 61 20 28 6c 69 73 74 29 20 28 63 61 72 20 28 63 64 64 72 20 6c 69 73 74 29 29 29 29 0a 20 20 22 a.(list).(car.(cddr.list))))..."
9da0 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f Return.the.third.item.of.LIST,.o
9dc0 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 r.nil.if.LIST.is.too.short...See
9de0 20 61 6c 73 6f 3a 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 27 2c 20 60 2d 66 6f 75 72 74 68 2d .also:.`-second-item',.`-fourth-
9e00 69 74 65 6d 27 2c 20 65 74 63 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 70 75 74 20 item',.etc...\(fn.LIST)")..(put.
9e20 27 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 70 75 72 65 20 74 29 0a 28 70 75 74 20 27 2d 74 68 69 '-third-item.'pure.t).(put.'-thi
9e40 72 64 2d 69 74 65 6d 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 rd-item.'side-effect-free.t)..(d
9e60 65 66 61 6c 69 61 73 20 27 2d 66 6f 75 72 74 68 2d 69 74 65 6d 0a 20 20 28 69 66 20 28 66 62 6f efalias.'-fourth-item...(if.(fbo
9e80 75 6e 64 70 20 27 63 61 64 64 64 72 29 0a 20 20 20 20 20 20 23 27 63 61 64 64 64 72 0a 20 20 20 undp.'cadddr).......#'cadddr....
9ea0 20 28 6c 61 6d 62 64 61 20 28 6c 69 73 74 29 20 28 63 61 64 72 20 28 63 64 64 72 20 6c 69 73 74 .(lambda.(list).(cadr.(cddr.list
9ec0 29 29 29 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 6f ))))..."Return.the.fourth.item.o
9ee0 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 f.LIST,.or.nil.if.LIST.is.too.sh
9f00 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 68 69 72 64 2d 69 74 65 6d 27 2c 20 60 ort...See.also:.`-third-item',.`
9f20 2d 66 69 66 74 68 2d 69 74 65 6d 27 2c 20 65 74 63 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 -fifth-item',.etc...\(fn.LIST)")
9f40 0a 0a 28 70 75 74 20 27 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 70 75 72 65 20 74 29 0a 28 70 ..(put.'-fourth-item.'pure.t).(p
9f60 75 74 20 27 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 ut.'-fourth-item.'side-effect-fr
9f80 65 65 20 74 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 ee.t)..(defun.-fifth-item.(list)
9fa0 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 ..."Return.the.fifth.item.of.LIS
9fc0 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a T,.or.nil.if.LIST.is.too.short..
9fe0 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 27 2c 20 60 2d 6c 61 73 .See.also:.`-fourth-item',.`-las
a000 74 2d 69 74 65 6d 27 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 t-item',.etc."...(declare.(pure.
a020 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 t).(side-effect-free.t))...(car.
a040 28 63 64 64 72 20 28 63 64 64 72 20 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 61 (cddr.(cddr.list))))..(defun.-la
a060 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 st-item.(list)..."Return.the.las
a080 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 t.item.of.LIST,.or.nil.on.an.emp
a0a0 74 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 72 73 74 2d 69 74 65 6d ty.list...See.also:.`-first-item
a0c0 27 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 ',.etc."...(declare.(pure.t).(si
a0e0 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 6c 61 73 74 20 de-effect-free.t))...(car.(last.
a100 6c 69 73 74 29 29 29 0a 0a 28 73 74 61 74 69 63 2d 69 66 20 28 66 62 6f 75 6e 64 70 20 27 67 76 list)))..(static-if.(fboundp.'gv
a120 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 72 29 0a 20 20 20 20 28 67 76 2d 64 65 66 69 6e 65 2d 73 -define-setter).....(gv-define-s
a140 65 74 74 65 72 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 76 61 6c 20 78 29 20 60 28 73 65 74 63 61 etter.-last-item.(val.x).`(setca
a160 72 20 28 6c 61 73 74 20 2c 78 29 20 2c 76 61 6c 29 29 0a 20 20 28 64 65 66 73 65 74 66 20 2d 6c r.(last.,x).,val))...(defsetf.-l
a180 61 73 74 2d 69 74 65 6d 20 28 78 29 20 28 76 61 6c 29 20 60 28 73 65 74 63 61 72 20 28 6c 61 73 ast-item.(x).(val).`(setcar.(las
a1a0 74 20 2c 78 29 20 2c 76 61 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 74 20 28 t.,x).,val)))..(defun.-butlast.(
a1c0 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 list)..."Return.a.list.of.all.it
a1e0 65 6d 73 20 69 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e ems.in.list.except.for.the.last.
a200 22 0a 20 20 3b 3b 20 6e 6f 20 61 6c 69 61 73 20 61 73 20 77 65 20 64 6f 6e 27 74 20 77 61 6e 74 "...;;.no.alias.as.we.don't.want
a220 20 6d 61 67 69 63 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 28 64 65 63 6c .magic.optional.argument...(decl
a240 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 are.(pure.t).(side-effect-free.t
a260 29 29 0a 20 20 28 62 75 74 6c 61 73 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 ))...(butlast.list))..(defmacro.
a280 2d 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 --count.(pred.list)..."Anaphoric
a2a0 20 66 6f 72 6d 20 6f 66 20 60 2d 63 6f 75 6e 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 .form.of.`-count'."...(declare.(
a2c0 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 debug.(form.form)))...(let.((r.(
a2e0 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 make-symbol."result"))).....`(le
a300 74 20 28 28 2c 72 20 30 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 t.((,r.0))........(--each.,list.
a320 28 77 68 65 6e 20 2c 70 72 65 64 20 28 73 65 74 71 20 2c 72 20 28 31 2b 20 2c 72 29 29 29 29 0a (when.,pred.(setq.,r.(1+.,r)))).
a340 20 20 20 20 20 20 20 2c 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 70 72 65 .......,r)))..(defun.-count.(pre
a360 64 20 6c 69 73 74 29 0a 20 20 22 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 d.list)..."Counts.the.number.of.
a380 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 69 74 65 6d 29 20 items.in.LIST.where.(PRED.item).
a3a0 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 is.non-nil."...(declare.(importa
a3c0 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 63 6f 75 6e 74 20 28 nt-return-value.t))...(--count.(
a3e0 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 funcall.pred.it).list))..(defun.
a400 2d 2d 2d 74 72 75 74 68 79 3f 20 28 6f 62 6a 29 0a 20 20 22 52 65 74 75 72 6e 20 4f 42 4a 20 61 ---truthy?.(obj)..."Return.OBJ.a
a420 73 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 28 74 20 6f 72 20 6e 69 6c 29 2e 22 0a 20 s.a.boolean.value.(t.or.nil)."..
a440 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d .(declare.(pure.t).(side-effect-
a460 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 61 6e 64 20 6f 62 6a 20 74 29 29 free.error-free))...(and.obj.t))
a480 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 61 6e 79 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 ..(defmacro.--any?.(form.list)..
a4a0 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 61 6e 79 3f 27 2e 22 0a 20 20 ."Anaphoric.form.of.`-any?'."...
a4c0 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 (declare.(debug.(form.form)))...
a4e0 60 28 61 6e 64 20 28 2d 2d 73 6f 6d 65 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 74 29 29 0a 0a `(and.(--some.,form.,list).t))..
a500 28 64 65 66 75 6e 20 2d 61 6e 79 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 (defun.-any?.(pred.list)..."Retu
a520 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 rn.t.if.(PRED.X).is.non-nil.for.
a540 61 6e 79 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a any.X.in.LIST,.else.nil...Alias:
a560 20 60 2d 61 6e 79 2d 70 27 2c 20 60 2d 73 6f 6d 65 3f 27 2c 20 60 2d 73 6f 6d 65 2d 70 27 22 0a .`-any-p',.`-some?',.`-some-p'".
a580 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c ..(declare.(important-return-val
a5a0 75 65 20 74 29 29 0a 20 20 28 2d 2d 61 6e 79 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 ue.t))...(--any?.(funcall.pred.i
a5c0 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 6f 6d 65 3f 20 27 2d 61 t).list))..(defalias.'-some?.'-a
a5e0 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f 6d 65 3f 20 27 2d 2d 61 6e 79 3f 29 ny?).(defalias.'--some?.'--any?)
a600 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 61 6e 79 2d 70 20 27 2d 61 6e 79 3f 29 0a 28 64 65 66 61 .(defalias.'-any-p.'-any?).(defa
a620 6c 69 61 73 20 27 2d 2d 61 6e 79 2d 70 20 27 2d 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 lias.'--any-p.'--any?).(defalias
a640 20 27 2d 73 6f 6d 65 2d 70 20 27 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 73 .'-some-p.'-any?).(defalias.'--s
a660 6f 6d 65 2d 70 20 27 2d 2d 61 6e 79 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 61 6c 6c 3f ome-p.'--any?)..(defmacro.--all?
a680 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 46 4f 52 4d .(form.list)..."Return.t.if.FORM
a6a0 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 .evals.to.non-nil.for.all.items.
a6c0 69 6e 20 4c 49 53 54 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 20 69 74 65 6d in.LIST..Otherwise,.once.an.item
a6e0 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 79 69 65 6c 64 .is.reached.for.which.FORM.yield
a700 73 20 6e 69 6c 2c 0a 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 s.nil,.return.nil.without.evalua
a720 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 ting.FORM.for.any.further.LIST.e
a740 6c 65 6d 65 6e 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e lements..Each.element.of.LIST.in
a760 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 .turn.is.bound.to.`it'.and.its.i
a780 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 ndex.within.LIST.to.`it-index'.b
a7a0 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a 54 68 65 20 73 69 6d 69 efore.evaluating.FORM...The.simi
a7c0 6c 61 72 20 6d 61 63 72 6f 20 60 2d 2d 65 76 65 72 79 27 20 69 73 20 6d 6f 72 65 20 77 69 64 65 lar.macro.`--every'.is.more.wide
a7e0 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 ly.useful,.since.it.returns.the.
a800 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 20 69 6e 73 74 last.non-nil.result.of.FORM.inst
a820 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 ead.of.just.t.on.success...Alias
a840 3a 20 60 2d 2d 61 6c 6c 2d 70 27 2c 20 60 2d 2d 65 76 65 72 79 2d 70 27 2c 20 60 2d 2d 65 76 65 :.`--all-p',.`--every-p',.`--eve
a860 72 79 3f 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ry?'...This.is.the.anaphoric.cou
a880 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 61 6c 6c 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 nterpart.to.`-all?'."...(declare
a8a0 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 61 6e 64 20 28 2d .(debug.(form.form)))...`(and.(-
a8c0 2d 65 76 65 72 79 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 -every.,form.,list).t))..(defun.
a8e0 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 -all?.(pred.list)..."Return.t.if
a900 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 58 20 69 .(PRED.X).is.non-nil.for.all.X.i
a920 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 n.LIST,.else.nil..In.the.latter.
a940 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 58 20 66 6f 72 case,.stop.after.the.first.X.for
a960 20 77 68 69 63 68 20 28 50 52 45 44 20 58 29 20 69 73 0a 6e 69 6c 2c 20 77 69 74 68 6f 75 74 20 .which.(PRED.X).is.nil,.without.
a980 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 65 calling.PRED.on.any.subsequent.e
a9a0 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 lements.of.LIST...The.similar.fu
a9c0 6e 63 74 69 6f 6e 20 60 2d 65 76 65 72 79 27 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 20 75 nction.`-every'.is.more.widely.u
a9e0 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 seful,.since.it.returns.the.last
aa00 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 .non-nil.result.of.PRED.instead.
aa20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d of.just.t.on.success...Alias:.`-
aa40 61 6c 6c 2d 70 27 2c 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 60 2d 65 76 65 72 79 3f 27 2e 0a 0a all-p',.`-every-p',.`-every?'...
aa60 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 This.function's.anaphoric.counte
aa80 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6c 6c 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 rpart.is.`--all?'."...(declare.(
aaa0 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d important-return-value.t))...(--
aac0 61 6c 6c 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 all?.(funcall.pred.it).list))..(
aae0 64 65 66 61 6c 69 61 73 20 27 2d 65 76 65 72 79 3f 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c defalias.'-every?.'-all?).(defal
ab00 69 61 73 20 27 2d 2d 65 76 65 72 79 3f 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 ias.'--every?.'--all?).(defalias
ab20 20 27 2d 61 6c 6c 2d 70 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 61 6c .'-all-p.'-all?).(defalias.'--al
ab40 6c 2d 70 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 65 76 65 72 79 2d 70 l-p.'--all?).(defalias.'-every-p
ab60 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 76 65 72 79 2d 70 20 27 2d .'-all?).(defalias.'--every-p.'-
ab80 2d 61 6c 6c 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6e 6f 6e 65 3f 20 28 66 6f 72 6d 20 -all?)..(defmacro.--none?.(form.
aba0 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6e 6f 6e list)..."Anaphoric.form.of.`-non
abc0 65 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f e?'."...(declare.(debug.(form.fo
abe0 72 6d 29 29 29 0a 20 20 60 28 2d 2d 61 6c 6c 3f 20 28 6e 6f 74 20 2c 66 6f 72 6d 29 20 2c 6c 69 rm)))...`(--all?.(not.,form).,li
ac00 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a st))..(defun.-none?.(pred.list).
ac20 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 69 6c 20 66 .."Return.t.if.(PRED.X).is.nil.f
ac40 6f 72 20 61 6c 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 or.all.X.in.LIST,.else.nil...Ali
ac60 61 73 3a 20 60 2d 6e 6f 6e 65 2d 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 as:.`-none-p'"...(declare.(impor
ac80 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6e 6f 6e 65 3f tant-return-value.t))...(--none?
aca0 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 .(funcall.pred.it).list))..(defa
acc0 6c 69 61 73 20 27 2d 6e 6f 6e 65 2d 70 20 27 2d 6e 6f 6e 65 3f 29 0a 28 64 65 66 61 6c 69 61 73 lias.'-none-p.'-none?).(defalias
ace0 20 27 2d 2d 6e 6f 6e 65 2d 70 20 27 2d 2d 6e 6f 6e 65 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 .'--none-p.'--none?)..(defmacro.
ad00 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 --only-some?.(form.list)..."Anap
ad20 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 27 2e 22 0a 20 20 horic.form.of.`-only-some?'."...
ad40 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 (declare.(debug.(form.form)))...
ad60 28 6c 65 74 20 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 79 65 73 22 29 29 0a 20 20 (let.((y.(make-symbol."yes"))...
ad80 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 6f 22 29 29 29 0a 20 20 ......(n.(make-symbol."no")))...
ada0 20 20 60 28 6c 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 ..`(let.(,y.,n)........(--each-w
adc0 68 69 6c 65 20 2c 6c 69 73 74 20 28 6e 6f 74 20 28 61 6e 64 20 2c 79 20 2c 6e 29 29 0a 20 20 20 hile.,list.(not.(and.,y.,n))....
ade0 20 20 20 20 20 20 28 69 66 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 2c 79 20 74 29 20 28 73 65 74 ......(if.,form.(setq.,y.t).(set
ae00 71 20 2c 6e 20 74 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 2d 74 72 75 74 68 79 3f 20 28 61 6e q.,n.t)))........(---truthy?.(an
ae20 64 20 2c 79 20 2c 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f d.,y.,n)))))..(defun.-only-some?
ae40 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 64 69 66 66 .(pred.list)..."Return.t.if.diff
ae60 65 72 65 6e 74 20 4c 49 53 54 20 69 74 65 6d 73 20 62 6f 74 68 20 73 61 74 69 73 66 79 20 61 6e erent.LIST.items.both.satisfy.an
ae80 64 20 64 6f 20 6e 6f 74 20 73 61 74 69 73 66 79 20 50 52 45 44 2e 0a 54 68 61 74 20 69 73 2c 20 d.do.not.satisfy.PRED..That.is,.
aea0 69 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 62 6f 74 68 20 6e 69 6c 20 66 6f 72 20 61 74 20 if.PRED.returns.both.nil.for.at.
aec0 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 2c 20 61 6e 64 0a 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 least.one.item,.and.non-nil.for.
aee0 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e at.least.one.other.item.in.LIST.
af00 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 61 6c 6c 0a 69 74 65 6d 73 20 73 61 74 69 73 66 ..Return.nil.if.all.items.satisf
af20 79 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 6f 72 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 y.the.predicate.or.none.of.them.
af40 64 6f 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 64 do...Alias:.`-only-some-p'"...(d
af60 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 eclare.(important-return-value.t
af80 29 29 0a 20 20 28 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 ))...(--only-some?.(funcall.pred
afa0 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 6f 6e 6c 79 2d 73 6f .it).list))..(defalias.'-only-so
afc0 6d 65 2d 70 20 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d me-p.'-only-some?).(defalias.'--
afe0 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 20 27 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 29 0a 0a 28 64 65 66 only-some-p.'--only-some?)..(def
b000 75 6e 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 un.-slice.(list.from.&optional.t
b020 6f 20 73 74 65 70 29 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2c 20 o.step)..."Return.copy.of.LIST,.
b040 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 46 52 4f 4d 20 74 6f 20 69 6e 64 65 starting.from.index.FROM.to.inde
b060 78 20 54 4f 2e 0a 0a 46 52 4f 4d 20 6f 72 20 54 4f 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 x.TO...FROM.or.TO.may.be.negativ
b080 65 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e 74 65 72 70 e...These.values.are.then.interp
b0a0 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c reted.modulo.the.length.of.the.l
b0c0 69 73 74 2e 0a 0a 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 6f 6e 6c 79 20 ist...If.STEP.is.a.number,.only.
b0e0 65 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e each.STEPth.item.in.the.resultin
b100 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 44 65 66 61 75 6c 74 73 g.section.is.returned...Defaults
b120 20 74 6f 20 31 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d .to.1."...(declare.(side-effect-
b140 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 free.t))...(let.((length.(length
b160 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 2d 6c 69 73 74 20 6e 69 6c 29 29 0a .list)).........(new-list.nil)).
b180 20 20 20 20 3b 3b 20 74 6f 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 ....;;.to.defaults.to.the.end.of
b1a0 20 74 68 65 20 6c 69 73 74 0a 20 20 20 20 28 73 65 74 71 20 74 6f 20 28 6f 72 20 74 6f 20 6c 65 .the.list.....(setq.to.(or.to.le
b1c0 6e 67 74 68 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 65 70 20 28 6f 72 20 73 74 65 70 20 31 ngth)).....(setq.step.(or.step.1
b1e0 29 29 0a 20 20 20 20 3b 3b 20 68 61 6e 64 6c 65 20 6e 65 67 61 74 69 76 65 20 69 6e 64 69 63 65 )).....;;.handle.negative.indice
b200 73 0a 20 20 20 20 28 77 68 65 6e 20 28 3c 20 66 72 6f 6d 20 30 29 0a 20 20 20 20 20 20 28 73 65 s.....(when.(<.from.0).......(se
b220 74 71 20 66 72 6f 6d 20 28 6d 6f 64 20 66 72 6f 6d 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 tq.from.(mod.from.length))).....
b240 28 77 68 65 6e 20 28 3c 20 74 6f 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 6f 20 28 6d (when.(<.to.0).......(setq.to.(m
b260 6f 64 20 74 6f 20 6c 65 6e 67 74 68 29 29 29 0a 0a 20 20 20 20 3b 3b 20 69 74 65 72 61 74 65 20 od.to.length)))......;;.iterate.
b280 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2c 20 6b 65 65 70 69 6e 67 20 74 68 65 20 65 6c through.the.list,.keeping.the.el
b2a0 65 6d 65 6e 74 73 20 77 65 20 77 61 6e 74 0a 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 ements.we.want.....(--each-while
b2c0 20 6c 69 73 74 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 74 6f 29 0a 20 20 20 20 20 20 28 77 68 65 .list.(<.it-index.to).......(whe
b2e0 6e 20 28 61 6e 64 20 28 3e 3d 20 69 74 2d 69 6e 64 65 78 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 n.(and.(>=.it-index.from).......
b300 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 6f 64 20 28 2d 20 66 72 6f 6d 20 69 74 2d 69 6e ...........(=.(mod.(-.from.it-in
b320 64 65 78 29 20 73 74 65 70 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 dex).step).0)).........(push.it.
b340 6e 65 77 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6e 65 77 2d 6c 69 new-list))).....(nreverse.new-li
b360 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 66 st)))..(defmacro.--take-while.(f
b380 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 orm.list)..."Take.successive.ite
b3a0 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c ms.from.LIST.for.which.FORM.eval
b3c0 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 s.to.non-nil..Each.element.of.LI
b3e0 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 ST.in.turn.is.bound.to.`it'.and.
b400 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 its.index.within.LIST.to.`it-ind
b420 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 52 65 74 ex'.before.evaluating.FORM...Ret
b440 75 72 6e 20 61 20 6e 65 77 0a 6c 69 73 74 20 6f 66 20 74 68 65 20 73 75 63 63 65 73 73 69 76 65 urn.a.new.list.of.the.successive
b460 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 .elements.from.the.start.of.LIST
b480 20 66 6f 72 20 77 68 69 63 68 0a 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e .for.which.FORM.evaluates.to.non
b4a0 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e -nil..This.is.the.anaphoric.coun
b4c0 74 65 72 70 61 72 74 20 74 6f 20 60 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 terpart.to.`-take-while'."...(de
b4e0 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 clare.(debug.(form.form)))...(le
b500 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 t.((r.(make-symbol."result")))..
b520 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 ...`(let.(,r)........(--each-whi
b540 6c 65 20 2c 6c 69 73 74 20 2c 66 6f 72 6d 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 0a 20 20 20 le.,list.,form.(push.it.,r))....
b560 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 ....(nreverse.,r))))..(defun.-ta
b580 6b 65 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 73 75 63 ke-while.(pred.list)..."Take.suc
b5a0 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 cessive.items.from.LIST.for.whic
b5c0 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 44 20 69 73 20 h.PRED.returns.non-nil..PRED.is.
b5e0 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 a.function.of.one.argument...Ret
b600 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 urn.a.new.list.of.the.successive
b620 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 .elements.from.the.start.of.LIST
b640 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e .for.which.PRED.returns.non-nil.
b660 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e ..This.function's.anaphoric.coun
b680 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f 72 20 terpart.is.`--take-while'...For.
b6a0 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 64 72 6f 70 another.variant,.see.also.`-drop
b6c0 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d -while'."...(declare.(important-
b6e0 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 return-value.t))...(--take-while
b700 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d .(funcall.pred.it).list))..(defm
b720 61 63 72 6f 20 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 acro.--drop-while.(form.list)...
b740 22 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 "Drop.successive.items.from.LIST
b760 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c .for.which.FORM.evals.to.non-nil
b780 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 ..Each.element.of.LIST.in.turn.i
b7a0 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 s.bound.to.`it'.and.its.index.wi
b7c0 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 thin.LIST.to.`it-index'.before.e
b7e0 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 52 65 74 75 72 6e 20 74 68 65 0a 74 61 69 6c valuating.FORM...Return.the.tail
b800 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 73 74 61 72 74 69 6e 67 20 66 .(not.a.copy).of.LIST.starting.f
b820 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 0a 77 68 69 63 68 20 rom.its.first.element.for.which.
b840 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 FORM.evaluates.to.nil..This.is.t
b860 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 64 72 he.anaphoric.counterpart.to.`-dr
b880 6f 70 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 op-while'."...(declare.(debug.(f
b8a0 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d orm.form)))...(let.((l.(make-sym
b8c0 62 6f 6c 20 22 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 bol."list"))).....`(let.((,l.,li
b8e0 73 74 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 20 2c 66 6f st))........(--each-while.,l.,fo
b900 72 6d 20 28 70 6f 70 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 2c 6c 29 29 29 0a 0a 28 64 65 66 75 rm.(pop.,l))........,l)))..(defu
b920 6e 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 44 72 6f n.-drop-while.(pred.list)..."Dro
b940 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 p.successive.items.from.LIST.for
b960 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 .which.PRED.returns.non-nil..PRE
b980 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e D.is.a.function.of.one.argument.
b9a0 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f ..Return.the.tail.(not.a.copy).o
b9c0 66 20 4c 49 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 f.LIST.starting.from.its.first.e
b9e0 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 69 lement.for.which.PRED.returns.ni
ba00 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f l...This.function's.anaphoric.co
ba20 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f unterpart.is.`--drop-while'...Fo
ba40 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 74 61 r.another.variant,.see.also.`-ta
ba60 6b 65 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e ke-while'."...(declare.(importan
ba80 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 64 72 6f 70 2d 77 68 69 t-return-value.t))...(--drop-whi
baa0 6c 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 3b 3b 20 le.(funcall.pred.it).list))..;;.
bac0 41 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 0a 28 73 74 61 74 69 63 2d 69 66 20 28 66 Added.in.Emacs.29..(static-if.(f
bae0 62 6f 75 6e 64 70 20 27 74 61 6b 65 29 0a 20 20 20 20 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 74 boundp.'take).....(defun.dash--t
bb00 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 ake.(n.list)......."Return.the.f
bb20 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 0a 4c 69 6b 65 20 60 74 irst.N.elements.of.LIST..Like.`t
bb40 61 6b 65 27 2c 20 62 75 74 20 65 6e 73 75 72 65 20 72 65 73 75 6c 74 20 69 73 20 66 72 65 73 68 ake',.but.ensure.result.is.fresh
bb60 2e 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 65 66 69 78 20 28 74 61 6b 65 20 6e 20 6c .".......(let.((prefix.(take.n.l
bb80 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 70 72 65 66 69 78 20 6c 69 ist))).........(if.(eq.prefix.li
bba0 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 73 61 6d 65 20 6c 69 73 74 20 st).............;;.If.same.list.
bbc0 69 73 20 72 65 74 75 72 6e 65 64 2c 20 6d 61 6b 65 20 61 20 63 6f 70 79 2e 0a 20 20 20 20 20 20 is.returned,.make.a.copy........
bbe0 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 70 72 65 66 69 78 29 0a 20 20 20 ......(copy-sequence.prefix)....
bc00 20 20 20 20 20 20 20 70 72 65 66 69 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 20 .......prefix))))..(defun.-take.
bc20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 (n.list)..."Return.a.copy.of.the
bc40 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 61 .first.N.items.in.LIST..Return.a
bc60 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 .copy.of.LIST.if.it.contains.N.i
bc80 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 tems.or.fewer..Return.nil.if.N.i
bca0 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 61 6b s.zero.or.less...See.also:.`-tak
bcc0 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 e-last'."...(declare.(side-effec
bce0 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 73 74 61 74 69 63 2d 69 66 20 28 66 62 6f 75 6e 64 70 t-free.t))...(static-if.(fboundp
bd00 20 27 64 61 73 68 2d 2d 74 61 6b 65 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 6b 65 20 .'dash--take).......(dash--take.
bd20 6e 20 6c 69 73 74 29 0a 20 20 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 2d n.list).....(--take-while.(<.it-
bd40 69 6e 64 65 78 20 6e 29 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 2d 6c index.n).list)))..(defun.-take-l
bd60 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 ast.(n.list)..."Return.a.copy.of
bd80 20 74 68 65 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f 72 64 .the.last.N.items.of.LIST.in.ord
bda0 65 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 69 66 20 69 74 20 er..Return.a.copy.of.LIST.if.it.
bdc0 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 contains.N.items.or.fewer..Retur
bde0 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 n.nil.if.N.is.zero.or.less...See
be00 20 61 6c 73 6f 3a 20 60 2d 74 61 6b 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 .also:.`-take'."...(declare.(sid
be20 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e e-effect-free.t))...(copy-sequen
be40 63 65 20 28 6c 61 73 74 20 6c 69 73 74 20 6e 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d ce.(last.list.n)))..(defalias.'-
be60 64 72 6f 70 20 23 27 6e 74 68 63 64 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c drop.#'nthcdr..."Return.the.tail
be80 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 74 68 .(not.a.copy).of.LIST.without.th
bea0 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4c e.first.N.items..Return.nil.if.L
bec0 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 IST.contains.N.items.or.fewer..R
bee0 65 74 75 72 6e 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e eturn.LIST.if.N.is.zero.or.less.
bf00 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 ..For.another.variant,.see.also.
bf20 60 2d 64 72 6f 70 2d 6c 61 73 74 27 2e 0a 5c 6e 28 66 6e 20 4e 20 4c 49 53 54 29 22 29 0a 0a 28 `-drop-last'..\n(fn.N.LIST)")..(
bf40 64 65 66 75 6e 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 defun.-drop-last.(n.list)..."Ret
bf60 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 69 74 73 20 6c urn.a.copy.of.LIST.without.its.l
bf80 61 73 74 20 4e 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 ast.N.items..Return.a.copy.of.LI
bfa0 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 52 65 74 75 72 6e 20 ST.if.N.is.zero.or.less..Return.
bfc0 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 nil.if.LIST.contains.N.items.or.
bfe0 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 64 72 6f 70 27 2e 22 0a 20 20 28 64 fewer...See.also:.`-drop'."...(d
c000 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 eclare.(side-effect-free.t))...(
c020 73 74 61 74 69 63 2d 69 66 20 28 66 62 6f 75 6e 64 70 20 27 64 61 73 68 2d 2d 74 61 6b 65 29 0a static-if.(fboundp.'dash--take).
c040 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 6b 65 20 28 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 ......(dash--take.(-.(length.lis
c060 74 29 20 6e 29 20 6c 69 73 74 29 0a 20 20 20 20 28 6e 62 75 74 6c 61 73 74 20 28 63 6f 70 79 2d t).n).list).....(nbutlast.(copy-
c080 73 65 71 75 65 6e 63 65 20 6c 69 73 74 29 20 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c sequence.list).n)))..(defun.-spl
c0a0 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 it-at.(n.list)..."Split.LIST.int
c0c0 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 68 20 65 6c 65 o.two.sublists.after.the.Nth.ele
c0e0 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 77 ment..The.result.is.a.list.of.tw
c100 6f 20 65 6c 65 6d 65 6e 74 73 20 28 54 41 4b 45 20 44 52 4f 50 29 20 77 68 65 72 65 20 54 41 4b o.elements.(TAKE.DROP).where.TAK
c120 45 20 69 73 20 61 0a 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 65 E.is.a.new.list.of.the.first.N.e
c140 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 44 52 4f 50 20 69 73 20 74 68 65 lements.of.LIST,.and.DROP.is.the
c160 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 28 6e 6f 74 .remaining.elements.of.LIST.(not
c180 20 61 20 63 6f 70 79 29 2e 20 20 54 41 4b 45 20 61 6e 64 20 44 52 4f 50 20 61 72 65 20 6c 69 6b .a.copy)...TAKE.and.DROP.are.lik
c1a0 65 0a 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 60 2d 74 61 6b 65 27 20 61 6e 64 20 60 2d 64 e.the.results.of.`-take'.and.`-d
c1c0 72 6f 70 27 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 20 73 70 6c 69 rop',.respectively,.but.the.spli
c1e0 74 0a 69 73 20 64 6f 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 t.is.done.in.a.single.list.trave
c200 72 73 61 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 rsal."...(declare.(side-effect-f
c220 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 2d 2d 65 ree.t))...(let.(result).....(--e
c240 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 6e 29 0a 20 20 ach-while.list.(<.it-index.n)...
c260 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 29 0a 20 20 ....(push.(pop.list).result))...
c280 20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 20 6c 69 73 74 29 29 ..(list.(nreverse.result).list))
c2a0 29 0a 0a 28 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 6f )..(defun.-rotate.(n.list)..."Ro
c2c0 74 61 74 65 20 4c 49 53 54 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 tate.LIST.N.places.to.the.right.
c2e0 28 6c 65 66 74 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 0a 54 68 65 20 74 69 6d (left.if.N.is.negative)..The.tim
c300 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 e.complexity.is.O(n)."...(declar
c320 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 e.(pure.t).(side-effect-free.t))
c340 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 20 28 29 29 0a 20 20 20 20 20 20 ...(cond.((null.list).()).......
c360 20 20 28 28 7a 65 72 6f 70 20 6e 29 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 ..((zerop.n).(copy-sequence.list
c380 29 29 0a 20 20 20 20 20 20 20 20 28 28 6c 65 74 2a 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 )).........((let*.((len.(length.
c3a0 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 2d 6d 6f 64 2d 6c 65 list)).................(n-mod-le
c3c0 6e 20 28 6d 6f 64 20 6e 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 n.(mod.n.len)).................(
c3e0 6e 65 77 2d 74 61 69 6c 2d 6c 65 6e 20 28 2d 20 6c 65 6e 20 6e 2d 6d 6f 64 2d 6c 65 6e 29 29 29 new-tail-len.(-.len.n-mod-len)))
c400 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6e 74 68 63 64 72 20 6e 65 77 2d ............(append.(nthcdr.new-
c420 74 61 69 6c 2d 6c 65 6e 20 6c 69 73 74 29 20 28 2d 74 61 6b 65 20 6e 65 77 2d 74 61 69 6c 2d 6c tail-len.list).(-take.new-tail-l
c440 65 6e 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 73 65 72 74 2d 61 74 en.list))))))..(defun.-insert-at
c460 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 .(n.x.list)..."Return.a.list.wit
c480 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 70 6f 73 69 74 69 h.X.inserted.into.LIST.at.positi
c4a0 6f 6e 20 4e 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 60 2d 73 70 on.N...See.also:.`-splice',.`-sp
c4c0 6c 69 63 65 2d 6c 69 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 lice-list'"...(declare.(pure.t).
c4e0 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 73 (side-effect-free.t))...(let.((s
c500 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e 20 6c 69 73 74 29 29 29 0a 20 plit-list.(-split-at.n.list)))..
c520 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 20 28 63 6f 6e 73 ...(nconc.(car.split-list).(cons
c540 20 78 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e .x.(cadr.split-list)))))..(defun
c560 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 .-replace-at.(n.x.list)..."Retur
c580 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 n.a.list.with.element.at.Nth.pos
c5a0 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 58 2e 0a 0a ition.in.LIST.replaced.with.X...
c5c0 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 70 6c 61 63 65 27 22 0a 20 20 28 64 65 63 6c 61 72 65 See.also:.`-replace'"...(declare
c5e0 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a .(pure.t).(side-effect-free.t)).
c600 20 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e ..(let.((split-list.(-split-at.n
c620 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c .list))).....(nconc.(car.split-l
c640 69 73 74 29 20 28 63 6f 6e 73 20 78 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 ist).(cons.x.(cdr.(cadr.split-li
c660 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 st))))))..(defun.-update-at.(n.f
c680 75 6e 63 20 6c 69 73 74 29 0a 20 20 22 55 73 65 20 46 55 4e 43 20 74 6f 20 75 70 64 61 74 65 20 unc.list)..."Use.FUNC.to.update.
c6a0 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 the.Nth.element.of.LIST..Return.
c6c0 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 20 74 68 65 20 4e 74 68 20 65 6c 65 a.copy.of.LIST.where.the.Nth.ele
c6e0 6d 65 6e 74 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 0a 72 65 73 75 6c 74 ment.is.replaced.with.the.result
c700 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 55 4e 43 20 6f 6e 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 .of.calling.FUNC.on.it...See.als
c720 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f o:.`-map-when'"...(declare.(impo
c740 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 rtant-return-value.t))...(let.((
c760 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e 20 6c 69 73 74 29 29 29 0a split-list.(-split-at.n.list))).
c780 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 0a 20 20 20 20 ....(nconc.(car.split-list).....
c7a0 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 20 28 63 61 72 20 .......(cons.(funcall.func.(car.
c7c0 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (cadr.split-list))).............
c7e0 20 20 20 20 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 29 29 29 .....(cdr.(cadr.split-list))))))
c800 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 6f 72 6d 20 ..(defmacro.--update-at.(n.form.
c820 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d list)..."Anaphoric.version.of.`-
c840 75 70 64 61 74 65 2d 61 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 update-at'."...(declare.(debug.(
c860 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 75 70 64 61 74 form.def-form.form)))...`(-updat
c880 65 2d 61 74 20 2c 6e 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 e-at.,n.(lambda.(it).(ignore.it)
c8a0 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d .,form).,list))..(defun.-remove-
c8c0 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 4c 49 53 54 20 77 69 74 68 20 at.(n.list)..."Return.LIST.with.
c8e0 69 74 73 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 4e 20 72 65 6d 6f 76 65 64 2e 0a its.element.at.index.N.removed..
c900 54 68 61 74 20 69 73 2c 20 72 65 6d 6f 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 That.is,.remove.any.element.sele
c920 63 74 65 64 20 61 73 20 28 6e 74 68 20 4e 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 0a 61 cted.as.(nth.N.LIST).from.LIST.a
c940 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 69 73 20 61 nd.return.the.result...This.is.a
c960 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 .non-destructive.operation:.part
c980 73 20 6f 66 20 4c 49 53 54 20 28 62 75 74 20 6e 6f 74 0a 6e 65 63 65 73 73 61 72 69 6c 79 20 61 s.of.LIST.(but.not.necessarily.a
c9a0 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 20 74 ll.of.it).are.copied.as.needed.t
c9c0 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f 64 69 66 79 69 6e 67 20 o.avoid.destructively.modifying.
c9e0 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 it...See.also:.`-remove-at-indic
ca00 65 73 27 2c 20 60 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 es',.`-remove'."...(declare.(pur
ca20 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 e.t).(side-effect-free.t))...(if
ca40 20 28 7a 65 72 6f 70 20 6e 29 0a 20 20 20 20 20 20 28 63 64 72 20 6c 69 73 74 29 0a 20 20 20 20 .(zerop.n).......(cdr.list).....
ca60 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3d 20 69 74 2d 69 6e 64 65 78 20 6e 29 20 6c (--remove-first.(=.it-index.n).l
ca80 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 ist)))..(defun.-remove-at-indice
caa0 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 4c 49 53 54 20 s.(indices.list)..."Return.LIST.
cac0 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 49 4e 44 49 43 45 53 20 72 65 6d with.its.elements.at.INDICES.rem
cae0 6f 76 65 64 2e 0a 54 68 61 74 20 69 73 2c 20 66 6f 72 20 65 61 63 68 20 69 6e 64 65 78 20 49 20 oved..That.is,.for.each.index.I.
cb00 69 6e 20 49 4e 44 49 43 45 53 2c 20 72 65 6d 6f 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 in.INDICES,.remove.any.element.s
cb20 65 6c 65 63 74 65 64 0a 61 73 20 28 6e 74 68 20 49 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 elected.as.(nth.I.LIST).from.LIS
cb40 54 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 T...This.is.a.non-destructive.op
cb60 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 73 20 6f 66 20 4c 49 53 54 20 28 62 75 74 20 6e 6f 74 0a eration:.parts.of.LIST.(but.not.
cb80 6e 65 63 65 73 73 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 necessarily.all.of.it).are.copie
cba0 64 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 75 63 74 69 76 65 d.as.needed.to.avoid.destructive
cbc0 6c 79 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 ly.modifying.it...See.also:.`-re
cbe0 6d 6f 76 65 2d 61 74 27 2c 20 60 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 move-at',.`-remove'."...(declare
cc00 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a .(pure.t).(side-effect-free.t)).
cc20 20 20 28 73 65 74 71 20 69 6e 64 69 63 65 73 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c ..(setq.indices.(--drop-while.(<
cc40 20 69 74 20 30 29 20 28 2d 73 6f 72 74 20 23 27 3c 20 69 6e 64 69 63 65 73 29 29 29 0a 20 20 28 .it.0).(-sort.#'<.indices)))...(
cc60 6c 65 74 20 28 28 69 20 28 70 6f 70 20 69 6e 64 69 63 65 73 29 29 20 72 65 73 29 0a 20 20 20 20 let.((i.(pop.indices)).res).....
cc80 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 69 0a 20 20 20 20 20 20 28 70 6f 70 20 (--each-while.list.i.......(pop.
cca0 6c 69 73 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 2f 3d 20 69 74 2d 69 6e 64 65 78 20 69 29 0a list).......(if.(/=.it-index.i).
ccc0 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 72 65 73 29 0a 20 20 20 20 20 20 20 20 ..........(push.it.res).........
cce0 28 77 68 69 6c 65 20 28 61 6e 64 20 69 6e 64 69 63 65 73 20 28 3d 20 28 63 61 72 20 69 6e 64 69 (while.(and.indices.(=.(car.indi
cd00 63 65 73 29 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 20 69 6e 64 69 63 65 73 29 ces).i))...........(pop.indices)
cd20 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 70 6f 70 20 69 6e 64 69 63 65 73 29 29 ).........(setq.i.(pop.indices))
cd40 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 29 20 6c 69 73 )).....(nconc.(nreverse.res).lis
cd60 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 t)))..(defmacro.--split-with.(pr
cd80 65 64 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d ed.list)..."Anaphoric.form.of.`-
cda0 73 70 6c 69 74 2d 77 69 74 68 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 split-with'."...(declare.(debug.
cdc0 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 (form.form)))...(let.((l.(make-s
cde0 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 72 20 28 6d 61 6b 65 2d ymbol."list")).........(r.(make-
ce00 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 28 6d 61 symbol."result")).........(c.(ma
ce20 6b 65 2d 73 79 6d 62 6f 6c 20 22 63 6f 6e 74 69 6e 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 ke-symbol."continue"))).....`(le
ce40 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 72 20 6e 69 6c t.((,l.,list)............(,r.nil
ce60 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 63 20 74 29 29 0a 20 20 20 20 20 20 20 28 77 68 69 )............(,c.t))........(whi
ce80 6c 65 20 28 61 6e 64 20 2c 6c 20 2c 63 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 le.(and.,l.,c)..........(let.((i
cea0 74 20 28 63 61 72 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 t.(car.,l)))............(if.(not
cec0 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 63 20 .,pred)................(setq.,c.
cee0 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 2c 72 29 0a nil)..............(!cons.it.,r).
cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 20 2c 6c 29 29 29 29 0a 20 20 20 20 20 20 .............(!cdr.,l)))).......
cf20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 20 2c 6c 29 29 29 29 0a 0a 28 64 65 .(list.(nreverse.,r).,l))))..(de
cf40 66 75 6e 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 53 fun.-split-with.(pred.list)..."S
cf60 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 61 20 70 72 65 66 69 78 20 73 61 74 69 73 66 79 69 plit.LIST.into.a.prefix.satisfyi
cf80 6e 67 20 50 52 45 44 2c 20 61 6e 64 20 74 68 65 20 72 65 73 74 2e 0a 54 68 65 20 66 69 72 73 74 ng.PRED,.and.the.rest..The.first
cfa0 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 65 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 20 77 .sublist.is.the.prefix.of.LIST.w
cfc0 69 74 68 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 0a 73 61 74 69 73 66 79 69 ith.successive.elements.satisfyi
cfe0 6e 67 20 50 52 45 44 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 73 75 62 6c 69 73 74 20 ng.PRED,.and.the.second.sublist.
d000 69 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 0a 74 68 61 74 20 64 is.the.remaining.elements.that.d
d020 6f 20 6e 6f 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f o.not...The.result.is.like.perfo
d040 72 6d 69 6e 67 0a 0a 20 20 28 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 rming....((-take-while.PRED.LIST
d060 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 29 0a 0a 62 75 74 20 ).(-drop-while.PRED.LIST))..but.
d080 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 in.no.more.than.a.single.pass.th
d0a0 72 6f 75 67 68 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 rough.LIST."...(declare.(importa
d0c0 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 73 70 6c 69 74 2d 77 nt-return-value.t))...(--split-w
d0e0 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 ith.(funcall.pred.it).list))..(d
d100 65 66 6d 61 63 72 6f 20 2d 73 70 6c 69 74 2d 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 efmacro.-split-on.(item.list)...
d120 22 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 69 "Split.the.LIST.each.time.ITEM.i
d140 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 s.found...Unlike.`-partition-by'
d160 2c 20 74 68 65 20 49 54 45 4d 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 ,.the.ITEM.is.discarded.from.the
d180 20 72 65 73 75 6c 74 73 2e 0a 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 .results..Empty.lists.are.also.r
d1a0 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6d 70 61 72 69 emoved.from.the.result...Compari
d1c0 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 son.is.done.by.`equal'...See.als
d1e0 6f 20 60 2d 73 70 6c 69 74 2d 77 68 65 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 o.`-split-when'"...(declare.(deb
d200 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 74 2d ug.(def-form.form)))...`(-split-
d220 77 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 65 71 75 61 6c 20 69 74 20 2c 69 74 65 when.(lambda.(it).(equal.it.,ite
d240 6d 29 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 74 2d 77 m)).,list))..(defmacro.--split-w
d260 68 65 6e 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 hen.(form.list)..."Anaphoric.ver
d280 73 69 6f 6e 20 6f 66 20 60 2d 73 70 6c 69 74 2d 77 68 65 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 sion.of.`-split-when'."...(decla
d2a0 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 re.(debug.(def-form.form)))...`(
d2c0 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 -split-when.(lambda.(it).(ignore
d2e0 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c .it).,form).,list))..(defun.-spl
d300 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 4c it-when.(fn.list)..."Split.the.L
d320 49 53 54 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 4e 20 72 65 74 IST.on.each.element.where.FN.ret
d340 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f urns.non-nil...Unlike.`-partitio
d360 6e 2d 62 79 27 2c 20 74 68 65 20 5c 22 6d 61 74 63 68 65 64 5c 22 20 65 6c 65 6d 65 6e 74 20 69 n-by',.the.\"matched\".element.i
d380 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 s.discarded.from.the.results...E
d3a0 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d mpty.lists.are.also.removed.from
d3c0 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 .the.result...This.function.can.
d3e0 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 61 74 69 6f be.thought.of.as.a.generalizatio
d400 6e 20 6f 66 0a 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 n.of.`split-string'."...(declare
d420 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 .(important-return-value.t))...(
d440 6c 65 74 20 28 72 20 73 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 20 let.(r.s).....(while.list.......
d460 28 69 66 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 6c 69 73 74 29 29 (if.(not.(funcall.fn.(car.list))
d480 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 73 29 0a )...........(push.(car.list).s).
d4a0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 73 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 ........(when.s.(push.(nreverse.
d4c0 73 29 20 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 20 6e 69 6c 29 29 0a 20 20 20 s).r)).........(setq.s.nil))....
d4e0 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 20 28 70 75 73 ...(!cdr.list)).....(when.s.(pus
d500 68 20 28 6e 72 65 76 65 72 73 65 20 73 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 h.(nreverse.s).r)).....(nreverse
d520 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 65 70 61 72 61 74 65 20 28 66 6f 72 .r)))..(defmacro.--separate.(for
d540 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 m.list)..."Anaphoric.form.of.`-s
d560 65 70 61 72 61 74 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f eparate'."...(declare.(debug.(fo
d580 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 rm.form)))...(let.((y.(make-symb
d5a0 6f 6c 20 22 79 65 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 ol."yes")).........(n.(make-symb
d5c0 6f 6c 20 22 6e 6f 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 ol."no"))).....`(let.(,y.,n)....
d5e0 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 69 66 20 2c 66 6f 72 6d 20 28 21 63 6f ....(--each.,list.(if.,form.(!co
d600 6e 73 20 69 74 20 2c 79 29 20 28 21 63 6f 6e 73 20 69 74 20 2c 6e 29 29 29 0a 20 20 20 20 20 20 ns.it.,y).(!cons.it.,n))).......
d620 20 28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 2c 79 29 20 28 6e 72 65 76 65 72 73 65 20 2c .(list.(nreverse.,y).(nreverse.,
d640 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c n)))))..(defun.-separate.(pred.l
d660 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c ist)..."Split.LIST.into.two.subl
d680 69 73 74 73 20 62 61 73 65 64 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 65 6d 73 20 73 61 74 69 ists.based.on.whether.items.sati
d6a0 73 66 79 20 50 52 45 44 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 sfy.PRED..The.result.is.like.per
d6c0 66 6f 72 6d 69 6e 67 0a 0a 20 20 28 28 2d 66 69 6c 74 65 72 20 50 52 45 44 20 4c 49 53 54 29 20 forming....((-filter.PRED.LIST).
d6e0 28 2d 72 65 6d 6f 76 65 20 50 52 45 44 20 4c 49 53 54 29 29 0a 0a 62 75 74 20 69 6e 20 61 20 73 (-remove.PRED.LIST))..but.in.a.s
d700 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 ingle.pass.through.LIST."...(dec
d720 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 lare.(important-return-value.t))
d740 0a 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 ...(--separate.(funcall.pred.it)
d760 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d .list))..(defun.dash--partition-
d780 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 28 6e 20 73 74 65 70 20 6c 69 all-in-steps-reversed.(n.step.li
d7a0 73 74 29 0a 20 20 22 4c 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 st)..."Like.`-partition-all-in-s
d7c0 74 65 70 73 27 2c 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 72 65 76 65 72 73 65 teps',.but.the.result.is.reverse
d7e0 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 3c 20 73 74 65 70 20 31 29 0a 20 20 20 20 28 73 69 67 6e d."...(when.(<.step.1).....(sign
d800 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 al.'wrong-type-argument.........
d820 20 20 20 20 60 28 22 53 74 65 70 20 73 69 7a 65 20 3c 20 31 20 72 65 73 75 6c 74 73 20 69 6e 20 ....`("Step.size.<.1.results.in.
d840 6a 75 69 63 79 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 73 22 20 2c 73 74 65 70 29 29 29 0a 20 juicy.infinite.loops".,step)))..
d860 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 .(let.(result).....(while.list..
d880 20 20 20 20 20 28 70 75 73 68 20 28 2d 74 61 6b 65 20 6e 20 6c 69 73 74 29 20 72 65 73 75 6c 74 .....(push.(-take.n.list).result
d8a0 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 6e 74 68 63 64 72 20 73 74 65 70 20 ).......(setq.list.(nthcdr.step.
d8c0 6c 69 73 74 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 list))).....result))..(defun.-pa
d8e0 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 rtition-all-in-steps.(n.step.lis
d900 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 69 6e 74 6f 20 73 75 62 6c 69 73 t)..."Partition.LIST.into.sublis
d920 74 73 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 74 68 61 74 20 61 72 65 20 53 54 45 50 20 69 74 65 ts.of.length.N.that.are.STEP.ite
d940 6d 73 20 61 70 61 72 74 2e 0a 41 64 6a 61 63 65 6e 74 20 67 72 6f 75 70 73 20 6d 61 79 20 6f 76 ms.apart..Adjacent.groups.may.ov
d960 65 72 6c 61 70 20 69 66 20 4e 20 65 78 63 65 65 64 73 20 74 68 65 20 53 54 45 50 20 73 74 72 69 erlap.if.N.exceeds.the.STEP.stri
d980 64 65 2e 0a 54 72 61 69 6c 69 6e 67 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 de..Trailing.groups.may.contain.
d9a0 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 less.than.N.items."...(declare.(
d9c0 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 pure.t).(side-effect-free.t))...
d9e0 28 6e 72 65 76 65 72 73 65 20 28 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 (nreverse.(dash--partition-all-i
da00 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 0a n-steps-reversed.n.step.list))).
da20 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 .(defun.-partition-in-steps.(n.s
da40 74 65 70 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 69 6e 74 6f tep.list)..."Partition.LIST.into
da60 20 73 75 62 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 74 68 61 74 20 61 72 65 20 53 .sublists.of.length.N.that.are.S
da80 54 45 50 20 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 4c 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f TEP.items.apart..Like.`-partitio
daa0 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 27 2c 20 62 75 74 20 69 66 20 74 68 65 72 65 20 61 72 n-all-in-steps',.but.if.there.ar
dac0 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 0a 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c e.not.enough.items.to.make.the.l
dae0 61 73 74 20 67 72 6f 75 70 20 4e 2d 73 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 ast.group.N-sized,.those.items.a
db00 72 65 20 64 69 73 63 61 72 64 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 re.discarded."...(declare.(pure.
db20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 t).(side-effect-free.t))...(let.
db40 28 28 72 65 73 75 6c 74 20 28 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e ((result.(dash--partition-all-in
db60 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 0a 20 -steps-reversed.n.step.list)))..
db80 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 72 65 73 75 6c 74 20 28 3c 20 28 6c 65 6e 67 74 68 ...(while.(and.result.(<.(length
dba0 20 28 63 61 72 20 72 65 73 75 6c 74 29 29 20 6e 29 29 0a 20 20 20 20 20 20 28 70 6f 70 20 72 65 .(car.result)).n)).......(pop.re
dbc0 73 75 6c 74 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a sult)).....(nreverse.result)))..
dbe0 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 29 0a 20 (defun.-partition-all.(n.list)..
dc00 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 ."Return.a.new.list.with.the.ite
dc20 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 ms.in.LIST.grouped.into.N-sized.
dc40 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 20 63 6f 6e sublists..The.last.group.may.con
dc60 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c tain.less.than.N.items."...(decl
dc80 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 are.(pure.t).(side-effect-free.t
dca0 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 6e 20 ))...(-partition-all-in-steps.n.
dcc0 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c n.list))..(defun.-partition.(n.l
dce0 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 ist)..."Return.a.new.list.with.t
dd00 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d he.items.in.LIST.grouped.into.N-
dd20 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 sized.sublists..If.there.are.not
dd40 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 .enough.items.to.make.the.last.g
dd60 72 6f 75 70 20 4e 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 roup.N-sized,.those.items.are.di
dd80 73 63 61 72 64 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 scarded."...(declare.(pure.t).(s
dda0 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f ide-effect-free.t))...(-partitio
ddc0 6e 2d 69 6e 2d 73 74 65 70 73 20 6e 20 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f n-in-steps.n.n.list))..(defmacro
dde0 20 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 .--partition-by.(form.list)..."A
de00 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 naphoric.form.of.`-partition-by'
de20 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 ."...(declare.(debug.(form.form)
de40 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 ))...(let.((r.(make-symbol."resu
de60 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 lt")).........(s.(make-symbol."s
de80 75 62 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f ublist")).........(v.(make-symbo
dea0 6c 20 22 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d l."value")).........(n.(make-sym
dec0 62 6f 6c 20 22 6e 65 77 2d 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 6d 61 bol."new-value")).........(l.(ma
dee0 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 ke-symbol."list"))).....`(let.((
df00 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 ,l.,list))........(when.,l......
df20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(let*.((,r.nil).............
df40 20 20 20 20 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(it.(car.,l))...............
df60 20 20 28 2c 73 20 28 6c 69 73 74 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(,s.(list.it))................
df80 20 28 2c 76 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 20 .(,v.,form).................(,l.
dfa0 28 63 64 72 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a (cdr.,l)))............(while.,l.
dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 .............(let*.((it.(car.,l)
dfe0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6e 20 2c 66 6f 72 6d 29 ).....................(,n.,form)
e000 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 )................(unless.(equal.
e020 2c 76 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 ,v.,n)..................(!cons.(
e040 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nreverse.,s).,r)................
e060 20 20 28 73 65 74 71 20 2c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(setq.,s.nil).................
e080 20 28 73 65 74 71 20 2c 76 20 2c 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 .(setq.,v.,n))................(!
e0a0 63 6f 6e 73 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 cons.it.,s)................(!cdr
e0c0 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 .,l)))............(!cons.(nrever
e0e0 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 se.,s).,r)............(nreverse.
e100 2c 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 ,r))))))..(defun.-partition-by.(
e120 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 fn.list)..."Apply.FN.to.each.ite
e140 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d m.in.LIST,.splitting.it.each.tim
e160 65 20 46 4e 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 76 61 6c 75 65 2e 22 0a 20 20 28 64 65 e.FN.returns.a.new.value."...(de
e180 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 clare.(important-return-value.t)
e1a0 29 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 )...(--partition-by.(funcall.fn.
e1c0 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 74 69 6f it).list))..(defmacro.--partitio
e1e0 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 n-by-header.(form.list)..."Anaph
e200 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 oric.form.of.`-partition-by-head
e220 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f er'."...(declare.(debug.(form.fo
e240 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 rm)))...(let.((r.(make-symbol."r
e260 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c esult")).........(s.(make-symbol
e280 20 22 73 75 62 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 68 20 28 6d 61 6b 65 2d 73 79 ."sublist")).........(h.(make-sy
e2a0 6d 62 6f 6c 20 22 68 65 61 64 65 72 2d 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 62 mbol."header-value")).........(b
e2c0 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 65 65 6e 2d 62 6f 64 79 3f 22 29 29 0a 20 20 20 .(make-symbol."seen-body?"))....
e2e0 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 77 2d 76 61 6c 75 65 22 .....(n.(make-symbol."new-value"
e300 29 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 )).........(l.(make-symbol."list
e320 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 "))).....`(let.((,l.,list)).....
e340 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 72 20 ...(when.,l..........(let*.((,r.
e360 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 74 20 28 63 61 72 20 2c 6c nil).................(it.(car.,l
e380 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 73 20 28 6c 69 73 74 20 69 74 29 )).................(,s.(list.it)
e3a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 68 20 2c 66 6f 72 6d 29 0a 20 20 20 ).................(,h.,form)....
e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 62 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 .............(,b.nil)...........
e3e0 20 20 20 20 20 20 28 2c 6c 20 28 63 64 72 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(,l.(cdr.,l)))............
e400 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 (while.,l..............(let*.((i
e420 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(car.,l)).....................
e440 28 2c 6e 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 (,n.,form))................(if.(
e460 65 71 75 61 6c 20 2c 68 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 equal.,h.,n)....................
e480 28 77 68 65 6e 20 2c 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 (when.,b......................(!
e4a0 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 cons.(nreverse.,s).,r)..........
e4c0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 ............(setq.,s.nil).......
e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 62 20 6e 69 6c 29 29 0a 20 20 ...............(setq.,b.nil))...
e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 62 20 74 29 29 0a 20 20 20 20 ...............(setq.,b.t)).....
e520 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 ...........(!cons.it.,s)........
e540 20 20 20 20 20 20 20 20 28 21 63 64 72 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 ........(!cdr.,l)))............(
e560 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 !cons.(nreverse.,s).,r).........
e580 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 ...(nreverse.,r))))))..(defun.-p
e5a0 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 artition-by-header.(fn.list)..."
e5c0 41 70 70 6c 79 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 Apply.FN.to.the.first.item.in.LI
e5e0 53 54 2e 20 54 68 61 74 20 69 73 20 74 68 65 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 ST..That.is.the.header.value..Ap
e600 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 6c ply.FN.to.each.item.in.LIST,.spl
e620 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 0a 72 65 74 75 72 6e 73 20 74 itting.it.each.time.FN.returns.t
e640 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 he.header.value,.but.only.after.
e660 73 65 65 69 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 seeing.at.least.one.other.value.
e680 28 74 68 65 20 62 6f 64 79 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 (the.body)."...(declare.(importa
e6a0 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 nt-return-value.t))...(--partiti
e6c0 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 on-by-header.(funcall.fn.it).lis
e6e0 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 t))..(defmacro.--partition-after
e700 2d 70 72 65 64 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 4c -pred.(form.list)..."Partition.L
e720 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 IST.after.each.element.for.which
e740 20 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 .FORM.evaluates.to.non-nil..Each
e760 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e .element.of.LIST.in.turn.is.boun
e780 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d d.to.`it'.before.evaluating.FORM
e7a0 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 ...This.is.the.anaphoric.counter
e7c0 70 61 72 74 20 74 6f 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 27 2e part.to.`-partition-after-pred'.
e7e0 22 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 "...(let.((l.(make-symbol."list"
e800 29 29 0a 20 20 20 20 20 20 20 20 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 )).........(r.(make-symbol."resu
e820 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 lt")).........(s.(make-symbol."s
e840 75 62 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 ublist"))).....`(let.((,l.,list)
e860 20 2c 72 20 2c 73 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 .,r.,s)........(when.,l.........
e880 20 28 2d 2d 65 61 63 68 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 .(--each.,l............(push.it.
e8a0 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 66 6f 72 6d 0a 20 20 20 20 20 ,s)............(when.,form......
e8c0 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 0a ........(push.(nreverse.,s).,r).
e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 20 28 29 29 29 29 0a 20 20 20 20 .............(setq.,s.()))).....
e900 20 20 20 20 20 28 77 68 65 6e 20 2c 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 .....(when.,s............(push.(
e920 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 nreverse.,s).,r))..........(nrev
e940 65 72 73 65 20 2c 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d erse.,r)))))..(defun.-partition-
e960 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 after-pred.(pred.list)..."Partit
e980 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 ion.LIST.after.each.element.for.
e9a0 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 which.PRED.returns.non-nil...Thi
e9c0 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s.function's.anaphoric.counterpa
e9e0 72 74 20 69 73 20 60 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 27 2e 22 rt.is.`--partition-after-pred'."
ea00 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 ...(declare.(important-return-va
ea20 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 lue.t))...(--partition-after-pre
ea40 64 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 d.(funcall.pred.it).list))..(def
ea60 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 65 64 20 un.-partition-before-pred.(pred.
ea80 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f list)..."Partition.directly.befo
eaa0 72 65 20 65 61 63 68 20 74 69 6d 65 20 50 52 45 44 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 re.each.time.PRED.is.true.on.an.
eac0 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d element.of.LIST."...(declare.(im
eae0 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6e 72 65 76 portant-return-value.t))...(nrev
eb00 65 72 73 65 20 28 2d 6d 61 70 20 23 27 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 erse.(-map.#'reverse............
eb20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 70 72 .......(-partition-after-pred.pr
eb40 65 64 20 28 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 ed.(reverse.list)))))..(defun.-p
eb60 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a artition-after-item.(item.list).
eb80 20 20 22 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 61 63 68 .."Partition.directly.after.each
eba0 20 74 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 22 0a 20 20 28 .time.ITEM.appears.in.LIST."...(
ebc0 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 declare.(pure.t).(side-effect-fr
ebe0 65 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 ee.t))...(-partition-after-pred.
ec00 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 65 71 75 61 6c 20 65 6c 65 20 69 74 65 6d 29 29 0a (lambda.(ele).(equal.ele.item)).
ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a .........................list)).
ec40 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 .(defun.-partition-before-item.(
ec60 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 item.list)..."Partition.directly
ec80 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 .before.each.time.ITEM.appears.i
eca0 6e 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 n.LIST."...(declare.(pure.t).(si
ecc0 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f 6e de-effect-free.t))...(-partition
ece0 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 65 71 75 61 -before-pred.(lambda.(ele).(equa
ed00 6c 20 65 6c 65 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.ele.item))....................
ed20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 67 72 6f 75 70 .......list))..(defmacro.--group
ed40 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 -by.(form.list)..."Anaphoric.for
ed60 6d 20 6f 66 20 60 2d 67 72 6f 75 70 2d 62 79 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 m.of.`-group-by'."...(declare.(d
ed80 65 62 75 67 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c ebug.t))...(let.((n.(make-symbol
eda0 20 22 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 6b 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 ."n")).........(k.(make-symbol."
edc0 6b 22 29 29 0a 20 20 20 20 20 20 20 20 28 67 72 70 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 k")).........(grp.(make-symbol."
ede0 67 72 70 22 29 29 29 0a 20 20 20 20 60 28 6e 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 28 2d 6d grp"))).....`(nreverse.......(-m
ee00 61 70 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 ap........(lambda.(,n)..........
ee20 28 63 6f 6e 73 20 28 63 61 72 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e (cons.(car.,n)................(n
ee40 72 65 76 65 72 73 65 20 28 63 64 72 20 2c 6e 29 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 72 65 reverse.(cdr.,n))))........(--re
ee60 64 75 63 65 2d 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 6b 20 28 2c 40 duce-from.........(let*.((,k.(,@
ee80 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 67 72 70 20 28 61 73 73 form))................(,grp.(ass
eea0 6f 63 20 2c 6b 20 61 63 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 67 72 70 0a oc.,k.acc)))...........(if.,grp.
eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 2c 67 72 70 20 28 63 6f 6e 73 ..............(setcdr.,grp.(cons
eee0 20 69 74 20 28 63 64 72 20 2c 67 72 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 .it.(cdr.,grp))).............(pu
ef00 73 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 6b 20 69 74 29 0a 20 20 20 sh..............(list.,k.it)....
ef20 20 20 20 20 20 20 20 20 20 20 61 63 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 61 63 63 29 0a 20 ..........acc))...........acc)..
ef40 20 20 20 20 20 20 20 6e 69 6c 20 2c 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 67 .......nil.,list)))))..(defun.-g
ef60 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 53 65 70 61 72 61 74 65 20 4c 49 roup-by.(fn.list)..."Separate.LI
ef80 53 54 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 ST.into.an.alist.whose.keys.are.
efa0 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 FN.applied.to.the.elements.of.LI
efc0 53 54 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 60 65 71 75 61 6c ST...Keys.are.compared.by.`equal
efe0 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e '."...(declare.(important-return
f000 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 75 6e 63 61 6c -value.t))...(--group-by.(funcal
f020 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 65 72 70 6f l.fn.it).list))..(defun.-interpo
f040 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 se.(sep.list)..."Return.a.new.li
f060 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 65 70 61 72 st.of.all.elements.in.LIST.separ
f080 61 74 65 64 20 62 79 20 53 45 50 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 ated.by.SEP."...(declare.(side-e
f0a0 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 ffect-free.t))...(let.(result)..
f0c0 20 20 20 28 77 68 65 6e 20 6c 69 73 74 0a 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 63 61 72 20 ...(when.list.......(!cons.(car.
f0e0 6c 69 73 74 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 list).result).......(!cdr.list))
f100 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 .....(while.list.......(setq.res
f120 75 6c 74 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 28 63 6f 6e 73 20 73 65 70 20 72 ult.(cons.(car.list).(cons.sep.r
f140 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 esult))).......(!cdr.list)).....
f160 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 (nreverse.result)))..(defun.-int
f180 65 72 6c 65 61 76 65 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 75 72 6e 20 erleave.(&rest.lists)..."Return.
f1a0 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 a.new.list.of.the.first.item.in.
f1c0 65 61 63 68 20 6c 69 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 22 each.list,.then.the.second.etc."
f1e0 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 ...(declare.(side-effect-free.t)
f200 29 0a 20 20 28 77 68 65 6e 20 6c 69 73 74 73 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 )...(when.lists.....(let.(result
f220 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2d 6e 6f 6e 65 3f 20 27 6e 75 6c 6c 20 6c 69 73 ).......(while.(-none?.'null.lis
f240 74 73 29 0a 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 73 20 28 21 63 6f 6e 73 ts).........(--each.lists.(!cons
f260 20 28 63 61 72 20 69 74 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 .(car.it).result)).........(setq
f280 20 6c 69 73 74 73 20 28 2d 6d 61 70 20 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 .lists.(-map.'cdr.lists)))......
f2a0 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f .(nreverse.result))))..(defmacro
f2c0 20 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 6f 72 6d 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 .--zip-with.(form.list1.list2)..
f2e0 20 22 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 69 6e 74 6f 20 61 20 6e 65 77 ."Zip.LIST1.and.LIST2.into.a.new
f300 20 6c 69 73 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 46 4f 52 4d 2e 0a 54 68 61 74 20 69 73 .list.according.to.FORM..That.is
f320 2c 20 65 76 61 6c 75 61 74 65 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 70 61 ,.evaluate.FORM.for.each.item.pa
f340 69 72 20 66 72 6f 6d 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 2c 20 61 6e 64 0a 72 65 74 75 72 ir.from.the.two.lists,.and.retur
f360 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 20 20 54 68 65 20 72 65 73 75 n.the.list.of.results...The.resu
f380 6c 74 20 69 73 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 73 68 6f 72 74 65 72 0a 6c 69 73 lt.is.as.long.as.the.shorter.lis
f3a0 74 2e 0a 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 31 20 61 6e 64 20 65 61 t...Each.element.of.LIST1.and.ea
f3c0 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 32 20 69 6e 20 74 75 72 6e 20 61 72 65 20 ch.element.of.LIST2.in.turn.are.
f3e0 62 6f 75 6e 64 0a 70 61 69 72 77 69 73 65 20 74 6f 20 60 69 74 27 20 61 6e 64 20 60 6f 74 68 65 bound.pairwise.to.`it'.and.`othe
f400 72 27 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 61 6e 64 20 74 68 65 69 72 20 69 6e 64 65 r',.respectively,.and.their.inde
f420 78 0a 77 69 74 68 69 6e 20 74 68 65 20 6c 69 73 74 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 2c x.within.the.list.to.`it-index',
f440 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a 54 68 69 73 20 69 .before.evaluating.FORM...This.i
f460 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 s.the.anaphoric.counterpart.to.`
f480 2d 7a 69 70 2d 77 69 74 68 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 -zip-with'."...(declare.(debug.(
f4a0 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 form.form.form)))...(let.((r.(ma
f4c0 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 32 ke-symbol."result")).........(l2
f4e0 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 32 22 29 29 29 0a 20 20 20 20 60 28 6c .(make-symbol."list2"))).....`(l
f500 65 74 20 28 28 2c 6c 32 20 2c 6c 69 73 74 32 29 20 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 et.((,l2.,list2).,r)........(--e
f520 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 31 20 2c 6c 32 0a 20 20 20 20 20 20 20 20 20 28 6c ach-while.,list1.,l2..........(l
f540 65 74 20 28 28 6f 74 68 65 72 20 28 70 6f 70 20 2c 6c 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 et.((other.(pop.,l2)))..........
f560 20 20 28 69 67 6e 6f 72 65 20 6f 74 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 ..(ignore.other)............(pus
f580 68 20 2c 66 6f 72 6d 20 2c 72 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c h.,form.,r)))........(nreverse.,
f5a0 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 r))))..(defun.-zip-with.(fn.list
f5c0 31 20 6c 69 73 74 32 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 1.list2)..."Zip.LIST1.and.LIST2.
f5e0 69 6e 74 6f 20 61 20 6e 65 77 20 6c 69 73 74 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 into.a.new.list.using.the.functi
f600 6f 6e 20 46 4e 2e 0a 54 68 61 74 20 69 73 2c 20 61 70 70 6c 79 20 46 4e 20 70 61 69 72 77 69 73 on.FN..That.is,.apply.FN.pairwis
f620 65 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e e.taking.as.first.argument.the.n
f640 65 78 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 31 20 61 6e 64 20 61 73 20 73 65 63 6f ext.element.of.LIST1.and.as.seco
f660 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 nd.argument.the.next.element.of.
f680 4c 49 53 54 32 0a 61 74 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 6f 73 69 74 LIST2.at.the.corresponding.posit
f6a0 69 6f 6e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 ion...The.result.is.as.long.as.t
f6c0 68 65 0a 73 68 6f 72 74 65 72 20 6c 69 73 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 he.shorter.list...This.function'
f6e0 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 7a 69 s.anaphoric.counterpart.is.`--zi
f700 70 2d 77 69 74 68 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 7a 69 70 73 2c 20 73 65 65 20 61 6c p-with'...For.other.zips,.see.al
f720 73 6f 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 61 6e 64 20 60 2d 7a 69 70 2d 66 69 6c 6c 27 2e so.`-zip-lists'.and.`-zip-fill'.
f740 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 "...(declare.(important-return-v
f760 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 alue.t))...(--zip-with.(funcall.
f780 66 6e 20 69 74 20 6f 74 68 65 72 29 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 0a 0a 28 64 65 66 fn.it.other).list1.list2))..(def
f7a0 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a un.-zip-lists.(&rest.lists)..."Z
f7c0 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 0a 0a 47 72 6f 75 70 20 74 68 65 20 68 65 ip.LISTS.together...Group.the.he
f7e0 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 ad.of.each.list,.followed.by.the
f800 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 65 61 63 68 20 6c 69 73 74 2c 20 61 6e .second.element.of.each.list,.an
f820 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 d.so.on...The.number.of.returned
f840 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 0a 74 6f 20 74 68 65 20 6c 65 6e 67 74 .groupings.is.equal.to.the.lengt
f860 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e h.of.the.shortest.input.list,.an
f880 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 0a 67 72 6f 75 70 69 6e 67 20 69 73 d.the.length.of.each.grouping.is
f8a0 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 .equal.to.the.number.of.input.LI
f8c0 53 54 53 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 STS...The.return.value.is.always
f8e0 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 .a.list.of.proper.lists,.in.cont
f900 72 61 73 74 20 74 6f 0a 60 2d 7a 69 70 27 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 6c rast.to.`-zip'.which.returns.a.l
f920 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 77 68 65 6e 20 6f 6e 6c 79 20 74 77 ist.of.dotted.pairs.when.only.tw
f940 6f 20 69 6e 70 75 74 0a 4c 49 53 54 53 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 53 65 65 o.input.LISTS.are.provided...See
f960 20 61 6c 73 6f 3a 20 60 2d 7a 69 70 2d 70 61 69 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .also:.`-zip-pair'."...(declare.
f980 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 (pure.t).(side-effect-free.t))..
f9a0 20 28 77 68 65 6e 20 6c 69 73 74 73 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 73 29 0a .(when.lists.....(let.(results).
f9c0 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2d 2d 65 76 65 72 79 20 69 74 20 6c 69 73 74 73 29 0a ......(while.(--every.it.lists).
f9e0 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6d 61 70 63 61 72 20 23 27 63 61 72 20 6c 69 73 74 ........(push.(mapcar.#'car.list
fa00 73 29 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 s).results).........(setq.lists.
fa20 28 6d 61 70 63 61 72 20 23 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 6e 72 (mapcar.#'cdr.lists))).......(nr
fa40 65 76 65 72 73 65 20 72 65 73 75 6c 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d everse.results))))..(defun.-zip-
fa60 6c 69 73 74 73 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 lists-fill.(fill-value.&rest.lis
fa80 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2c 20 70 61 64 64 69 ts)..."Zip.LISTS.together,.paddi
faa0 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 ng.shorter.lists.with.FILL-VALUE
fac0 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 28 77 68 69 ..This.is.like.`-zip-lists'.(whi
fae0 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 0a 65 ch.see),.except.it.retains.all.e
fb00 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 65 20 lements.at.positions.beyond.the.
fb20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 0a 6e end.of.the.shortest.list...The.n
fb40 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 umber.of.returned.groupings.is.e
fb60 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 6c 6f 6e 67 65 73 qual.to.the.length.of.the.longes
fb80 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 t.input.list,.and.the.length.of.
fba0 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 0a 74 68 65 20 6e 75 each.grouping.is.equal.to.the.nu
fbc0 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 mber.of.input.LISTS."...(declare
fbe0 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a .(pure.t).(side-effect-free.t)).
fc00 20 20 28 77 68 65 6e 20 6c 69 73 74 73 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 73 29 ..(when.lists.....(let.(results)
fc20 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2d 2d 73 6f 6d 65 20 69 74 20 6c 69 73 74 73 29 0a .......(while.(--some.it.lists).
fc40 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 2d 2d 6d 61 70 20 28 69 66 20 69 74 20 28 63 61 72 ........(push.(--map.(if.it.(car
fc60 20 69 74 29 20 66 69 6c 6c 2d 76 61 6c 75 65 29 20 6c 69 73 74 73 29 20 72 65 73 75 6c 74 73 29 .it).fill-value).lists).results)
fc80 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 6d 61 70 63 61 72 20 23 27 63 .........(setq.lists.(mapcar.#'c
fca0 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 dr.lists))).......(nreverse.resu
fcc0 6c 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 6c 69 lts))))..(defun.-unzip-lists.(li
fce0 73 74 73 29 0a 20 20 22 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 sts)..."Unzip.LISTS...This.works
fd00 20 6a 75 73 74 20 6c 69 6b 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 28 77 68 69 63 68 20 73 .just.like.`-zip-lists'.(which.s
fd20 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 0a 6f 66 20 6c 69 73 74 73 20 69 ee),.but.takes.a.list.of.lists.i
fd40 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 nstead.of.a.variable.number.of.a
fd60 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a 0a 20 20 28 2d 75 6e 7a 69 70 2d 6c rguments,.such.that....(-unzip-l
fd80 69 73 74 73 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 41 52 47 53 2e 2e 2e 29 29 0a 0a 69 73 20 69 ists.(-zip-lists.ARGS...))..is.i
fda0 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 63 6f dentity.(given.that.the.lists.co
fdc0 6d 70 72 69 73 69 6e 67 20 41 52 47 53 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 0a 6c 65 mprising.ARGS.are.of.the.same.le
fde0 6e 67 74 68 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 ngth)."...(declare.(pure.t).(sid
fe00 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 2d 7a 69 e-effect-free.t))...(apply.#'-zi
fe20 70 2d 6c 69 73 74 73 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 64 61 73 68 p-lists.lists))..(defalias.'dash
fe40 2d 2d 6c 65 6e 67 74 68 3d 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6c 65 6e 67 74 68 --length=...(if.(fboundp.'length
fe60 3d 29 0a 20 20 20 20 20 20 23 27 6c 65 6e 67 74 68 3d 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 =).......#'length=.....(lambda.(
fe80 6c 69 73 74 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 6c 65 6e list.length).......(cond.((<.len
fea0 67 74 68 20 30 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 gth.0).nil).............((zerop.
fec0 6c 65 6e 67 74 68 29 20 28 6e 75 6c 6c 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 length).(null.list))............
fee0 20 28 28 6c 65 74 20 28 28 6c 61 73 74 20 28 6e 74 68 63 64 72 20 28 31 2d 20 6c 65 6e 67 74 68 .((let.((last.(nthcdr.(1-.length
ff00 29 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6c 61 ).list)))................(and.la
ff20 73 74 20 28 6e 75 6c 6c 20 28 63 64 72 20 6c 61 73 74 29 29 29 29 29 29 29 29 0a 20 20 22 52 65 st.(null.(cdr.last))))))))..."Re
ff40 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 6f 66 20 4c 45 4e 47 54 turn.non-nil.if.LIST.is.of.LENGT
ff60 48 2e 0a 54 68 69 73 20 69 73 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 68 69 6d 20 H..This.is.a.compatibility.shim.
ff80 66 6f 72 20 60 6c 65 6e 67 74 68 3d 27 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 0a 5c 6e 28 66 6e for.`length='.in.Emacs.28..\n(fn
ffa0 20 4c 49 53 54 20 4c 45 4e 47 54 48 29 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 7a 69 .LIST.LENGTH)")..(defun.dash--zi
ffc0 70 2d 6c 69 73 74 73 2d 6f 72 2d 70 61 69 72 20 28 5f 66 6f 72 6d 20 26 72 65 73 74 20 6c 69 73 p-lists-or-pair.(_form.&rest.lis
ffe0 74 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 6f 72 6d 20 65 71 75 69 76 61 6c 65 6e 74 20 ts)..."Return.a.form.equivalent.
10000 74 6f 20 61 70 70 6c 79 69 6e 67 20 60 2d 7a 69 70 27 20 74 6f 20 4c 49 53 54 53 2e 0a 54 68 69 to.applying.`-zip'.to.LISTS..Thi
10020 73 20 60 63 6f 6d 70 69 6c 65 72 2d 6d 61 63 72 6f 27 20 77 61 72 6e 73 20 61 62 6f 75 74 20 64 s.`compiler-macro'.warns.about.d
10040 69 73 63 6f 75 72 61 67 65 64 20 60 2d 7a 69 70 27 20 75 73 61 67 65 20 61 6e 64 0a 64 65 6c 65 iscouraged.`-zip'.usage.and.dele
10060 67 61 74 65 73 20 74 6f 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 6f 72 20 60 2d 7a 69 70 2d 70 gates.to.`-zip-lists'.or.`-zip-p
10080 61 69 72 27 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 0a 6f 66 20 air'.depending.on.the.number.of.
100a0 4c 49 53 54 53 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 64 61 73 68 2d 2d 6c 65 6e 67 74 68 LISTS."...(if.(not.(dash--length
100c0 3d 20 6c 69 73 74 73 20 32 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 23 27 2d 7a 69 70 2d 6c =.lists.2)).......(cons.#'-zip-l
100e0 69 73 74 73 20 6c 69 73 74 73 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 61 69 72 20 28 63 6f 6e ists.lists).....(let.((pair.(con
10100 73 20 23 27 2d 7a 69 70 2d 70 61 69 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 s.#'-zip-pair.lists))...........
10120 28 6d 73 67 20 22 55 73 65 20 2d 7a 69 70 2d 70 61 69 72 20 69 6e 73 74 65 61 64 20 6f 66 20 2d (msg."Use.-zip-pair.instead.of.-
10140 7a 69 70 20 74 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 70 61 69 72 73 22 29 29 0a 20 20 zip.to.get.a.list.of.pairs"))...
10160 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d ....(if.(fboundp.'macroexp-warn-
10180 61 6e 64 2d 72 65 74 75 72 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 63 72 6f 65 78 70 2d and-return)...........(macroexp-
101a0 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 20 6d 73 67 20 70 61 69 72 29 0a 20 20 20 20 20 20 warn-and-return.msg.pair).......
101c0 20 20 28 6d 65 73 73 61 67 65 20 6d 73 67 29 0a 20 20 20 20 20 20 20 20 70 61 69 72 29 29 29 29 ..(message.msg).........pair))))
101e0 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a ..(defun.-zip.(&rest.lists)..."Z
10200 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 0a 0a 47 72 6f 75 70 20 74 68 65 20 68 65 ip.LISTS.together...Group.the.he
10220 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 ad.of.each.list,.followed.by.the
10240 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 65 61 63 68 20 6c 69 73 74 2c 20 61 6e .second.element.of.each.list,.an
10260 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 d.so.on...The.number.of.returned
10280 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 0a 74 6f 20 74 68 65 20 6c 65 6e 67 74 .groupings.is.equal.to.the.lengt
102a0 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e h.of.the.shortest.input.list,.an
102c0 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 0a 69 6e 20 65 61 63 68 20 67 72 d.the.number.of.items.in.each.gr
102e0 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 ouping.is.equal.to.the.number.of
10300 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 49 66 20 6f 6e 6c 79 20 74 77 6f 20 4c 49 53 54 53 .input.LISTS...If.only.two.LISTS
10320 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 74 75 .are.provided.as.arguments,.retu
10340 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 0a 61 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f rn.the.groupings.as.a.list.of.do
10360 74 74 65 64 20 70 61 69 72 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 tted.pairs...Otherwise,.return.t
10380 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 0a 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 he.groupings.as.a.list.of.proper
103a0 20 6c 69 73 74 73 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 .lists...Since.the.return.value.
103c0 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 changes.form.depending.on.the.nu
103e0 6d 62 65 72 20 6f 66 0a 61 72 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c mber.of.arguments,.it.is.general
10400 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 60 2d 7a 69 70 2d 6c 69 73 74 ly.recommended.to.use.`-zip-list
10420 73 27 0a 69 6e 73 74 65 61 64 2c 20 6f 72 20 60 2d 7a 69 70 2d 70 61 69 72 27 20 69 66 20 61 20 s'.instead,.or.`-zip-pair'.if.a.
10440 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 20 64 65 73 69 72 65 64 2e list.of.dotted.pairs.is.desired.
10460 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 75 6e 7a 69 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 ..See.also:.`-unzip'."...(declar
10480 65 20 28 63 6f 6d 70 69 6c 65 72 2d 6d 61 63 72 6f 20 64 61 73 68 2d 2d 7a 69 70 2d 6c 69 73 74 e.(compiler-macro.dash--zip-list
104a0 73 2d 6f 72 2d 70 61 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 72 65 20 74 29 20 28 s-or-pair)............(pure.t).(
104c0 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 46 6f 72 20 62 61 side-effect-free.t))...;;.For.ba
104e0 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 72 65 74 75 72 6e 20 61 20 6c ckward.compatibility,.return.a.l
10500 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 66 20 74 77 6f 0a 20 20 3b 3b 20 ist.of.dotted.pairs.if.two...;;.
10520 61 72 67 75 6d 65 6e 74 73 20 77 65 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 20 20 28 61 70 70 6c arguments.were.provided....(appl
10540 79 20 28 69 66 20 28 64 61 73 68 2d 2d 6c 65 6e 67 74 68 3d 20 6c 69 73 74 73 20 32 29 20 23 27 y.(if.(dash--length=.lists.2).#'
10560 2d 7a 69 70 2d 70 61 69 72 20 23 27 2d 7a 69 70 2d 6c 69 73 74 73 29 20 6c 69 73 74 73 29 29 0a -zip-pair.#'-zip-lists).lists)).
10580 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 70 61 69 72 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a .(defun.-zip-pair.(&rest.lists).
105a0 20 20 22 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 74 6f 67 65 74 68 65 72 2e .."Zip.LIST1.and.LIST2.together.
105c0 0a 0a 4d 61 6b 65 20 61 20 70 61 69 72 20 77 69 74 68 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 ..Make.a.pair.with.the.head.of.e
105e0 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 70 61 69 72 20 77 69 74 ach.list,.followed.by.a.pair.wit
10600 68 0a 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 20 6c 69 73 h.the.second.element.of.each.lis
10620 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 69 t,.and.so.on...The.number.of.pai
10640 72 73 0a 72 65 74 75 72 6e 65 64 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 rs.returned.is.equal.to.the.leng
10660 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 72 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 53 th.of.the.shorter.input.list...S
10680 65 65 20 61 6c 73 6f 3a 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 ee.also:.`-zip-lists'."...(decla
106a0 72 65 20 28 61 64 76 65 72 74 69 73 65 64 2d 63 61 6c 6c 69 6e 67 2d 63 6f 6e 76 65 6e 74 69 6f re.(advertised-calling-conventio
106c0 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 20 22 32 2e 32 30 2e 30 22 29 0a 20 20 20 20 20 20 n.(list1.list2)."2.20.0").......
106e0 20 20 20 20 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 .....(pure.t).(side-effect-free.
10700 74 29 29 0a 20 20 28 69 66 20 28 64 61 73 68 2d 2d 6c 65 6e 67 74 68 3d 20 6c 69 73 74 73 20 32 t))...(if.(dash--length=.lists.2
10720 29 0a 20 20 20 20 20 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 63 6f 6e 73 20 69 74 20 6f 74 68 ).......(--zip-with.(cons.it.oth
10740 65 72 29 20 28 63 61 72 20 6c 69 73 74 73 29 20 28 63 61 64 72 20 6c 69 73 74 73 29 29 0a 20 20 er).(car.lists).(cadr.lists))...
10760 20 20 28 61 70 70 6c 79 20 23 27 2d 7a 69 70 2d 6c 69 73 74 73 20 6c 69 73 74 73 29 29 29 0a 0a ..(apply.#'-zip-lists.lists)))..
10780 28 64 65 66 75 6e 20 2d 7a 69 70 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 (defun.-zip-fill.(fill-value.&re
107a0 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2c st.lists)..."Zip.LISTS.together,
107c0 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 46 49 4c 4c .padding.shorter.lists.with.FILL
107e0 2d 56 41 4c 55 45 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 2d 7a 69 70 27 20 28 77 68 69 -VALUE..This.is.like.`-zip'.(whi
10800 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 20 65 ch.see),.except.it.retains.all.e
10820 6c 65 6d 65 6e 74 73 0a 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 65 20 lements.at.positions.beyond.the.
10840 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 20 6e end.of.the.shortest.list...The.n
10860 75 6d 62 65 72 20 6f 66 0a 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 umber.of.returned.groupings.is.e
10880 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 6f 6e 67 65 73 qual.to.the.length.of.the.longes
108a0 74 20 69 6e 70 75 74 0a 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 t.input.list,.and.the.length.of.
108c0 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 each.grouping.is.equal.to.the.nu
108e0 6d 62 65 72 20 6f 66 0a 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 mber.of.input.LISTS...Since.the.
10900 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 return.value.changes.form.depend
10920 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 61 72 67 75 6d 65 6e 74 73 2c 20 ing.on.the.number.of.arguments,.
10940 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 it.is.generally.recommended.to.u
10960 73 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 27 0a 69 6e 73 74 65 61 64 2c 20 75 6e se.`-zip-lists-fill'.instead,.un
10980 6c 65 73 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 20 65 less.a.list.of.dotted.pairs.is.e
109a0 78 70 6c 69 63 69 74 6c 79 20 64 65 73 69 72 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 xplicitly.desired."...(declare.(
109c0 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 pure.t).(side-effect-free.t))...
109e0 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 73 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 (cond.((null.lists).()).........
10a00 28 28 64 61 73 68 2d 2d 6c 65 6e 67 74 68 3d 20 6c 69 73 74 73 20 32 29 0a 20 20 20 20 20 20 20 ((dash--length=.lists.2)........
10a20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 31 20 28 63 61 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 ..(let.((list1.(car.lists)).....
10a40 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 32 20 28 63 61 64 72 20 6c 69 73 74 73 29 29 0a ...........(list2.(cadr.lists)).
10a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 ...............results).........
10a80 20 20 20 28 77 68 69 6c 65 20 28 6f 72 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 20 ...(while.(or.list1.list2)......
10aa0 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 69 66 20 6c 69 73 74 31 20 28 70 ........(push.(cons.(if.list1.(p
10ac0 6f 70 20 6c 69 73 74 31 29 20 66 69 6c 6c 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 op.list1).fill-value)...........
10ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6c 69 73 74 32 20 28 70 6f 70 20 6c 69 ...............(if.list2.(pop.li
10b00 73 74 32 29 20 66 69 6c 6c 2d 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st2).fill-value))...............
10b20 20 20 20 20 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 .....results))............(nreve
10b40 72 73 65 20 72 65 73 75 6c 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 70 70 6c 79 20 23 rse.results))).........((apply.#
10b60 27 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 66 69 6c 6c 2d 76 61 6c 75 65 20 6c 69 73 74 '-zip-lists-fill.fill-value.list
10b80 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 7a 69 70 20 28 6c 69 73 74 73 29 0a 20 20 22 s))))..(defun.-unzip.(lists)..."
10ba0 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 Unzip.LISTS...This.works.just.li
10bc0 6b 65 20 60 2d 7a 69 70 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 ke.`-zip'.(which.see),.but.takes
10be0 20 61 20 6c 69 73 74 20 6f 66 0a 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 .a.list.of.lists.instead.of.a.va
10c00 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 riable.number.of.arguments,.such
10c20 20 74 68 61 74 0a 0a 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 20 .that....(-unzip.(-zip.L1.L2.L3.
10c40 2e 2e 2e 29 29 0a 0a 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 ...))..is.identity.(given.that.t
10c60 68 65 20 6c 69 73 74 73 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c he.lists.are.of.the.same.length,
10c80 20 61 6e 64 0a 74 68 61 74 20 60 2d 7a 69 70 27 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 77 .and.that.`-zip'.is.not.called.w
10ca0 69 74 68 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 62 65 63 61 75 73 65 20 6f 66 20 74 68 ith.two.arguments,.because.of.th
10cc0 65 0a 63 61 76 65 61 74 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 69 74 73 20 64 6f 63 73 74 72 e.caveat.described.in.its.docstr
10ce0 69 6e 67 29 2e 0a 0a 4e 6f 74 65 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 68 61 74 20 63 ing)...Note.in.particular.that.c
10d00 61 6c 6c 69 6e 67 20 60 2d 75 6e 7a 69 70 27 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f alling.`-unzip'.on.a.list.of.two
10d20 20 6c 69 73 74 73 0a 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 .lists.will.return.a.list.of.dot
10d40 74 65 64 20 70 61 69 72 73 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c ted.pairs...Since.the.return.val
10d60 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 ue.changes.form.depending.on.the
10d80 20 6e 75 6d 62 65 72 20 6f 66 0a 4c 49 53 54 53 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c .number.of.LISTS,.it.is.generall
10da0 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 60 2d 75 6e 7a 69 70 2d 6c 69 73 y.recommended.to.use.`-unzip-lis
10dc0 74 73 27 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 ts'.instead."...(declare.(pure.t
10de0 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 ).(side-effect-free.t))...(apply
10e00 20 23 27 2d 7a 69 70 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 79 63 6c 65 20 28 .#'-zip.lists))..(defun.-cycle.(
10e20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 list)..."Return.an.infinite.circ
10e40 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 ular.copy.of.LIST..The.returned.
10e60 6c 69 73 74 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 list.cycles.through.the.elements
10e80 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 72 65 70 65 61 74 73 0a 66 72 6f 6d 20 74 68 65 20 62 65 .of.LIST.and.repeats.from.the.be
10ea0 67 69 6e 6e 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 ginning."...(declare.(pure.t).(s
10ec0 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 41 6c 73 6f 20 77 6f ide-effect-free.t))...;;.Also.wo
10ee0 72 6b 73 20 77 69 74 68 20 73 65 71 75 65 6e 63 65 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 6c rks.with.sequences.that.aren't.l
10f00 69 73 74 73 2e 0a 20 20 28 6c 65 74 20 28 28 6e 65 77 6c 69 73 74 20 28 61 70 70 65 6e 64 20 6c ists....(let.((newlist.(append.l
10f20 69 73 74 20 28 29 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 6e 65 77 6c 69 73 74 20 6e 65 77 ist.()))).....(nconc.newlist.new
10f40 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 list)))..(defun.-pad.(fill-value
10f60 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 50 61 64 20 65 61 63 68 20 6f 66 20 4c 49 53 .&rest.lists)..."Pad.each.of.LIS
10f80 54 53 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 75 6e 74 69 6c 20 74 68 65 79 20 61 6c TS.with.FILL-VALUE.until.they.al
10fa0 6c 20 68 61 76 65 20 65 71 75 61 6c 20 6c 65 6e 67 74 68 73 2e 0a 0a 45 6e 73 75 72 65 20 61 6c l.have.equal.lengths...Ensure.al
10fc0 6c 20 4c 49 53 54 53 20 61 72 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 6f 6e 67 65 l.LISTS.are.as.long.as.the.longe
10fe0 73 74 20 6f 6e 65 20 62 79 20 72 65 70 65 61 74 65 64 6c 79 0a 61 70 70 65 6e 64 69 6e 67 20 46 st.one.by.repeatedly.appending.F
11000 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2c 20 ILL-VALUE.to.the.shorter.lists,.
11020 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 72 65 73 75 6c 74 69 6e 67 20 4c 49 53 54 53 2e 22 and.return.the.resulting.LISTS."
11040 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
11060 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 73 20 28 6d 61 70 63 61 t-free.t))...(let*.((lens.(mapca
11080 72 20 23 27 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 78 r.#'length.lists))..........(max
110a0 6c 65 6e 20 28 61 70 70 6c 79 20 23 27 6d 61 78 20 30 20 6c 65 6e 73 29 29 29 0a 20 20 20 20 28 len.(apply.#'max.0.lens))).....(
110c0 2d 2d 6d 61 70 20 28 61 70 70 65 6e 64 20 69 74 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 2d 20 6d --map.(append.it.(make-list.(-.m
110e0 61 78 6c 65 6e 20 28 70 6f 70 20 6c 65 6e 73 29 29 20 66 69 6c 6c 2d 76 61 6c 75 65 29 29 20 6c axlen.(pop.lens)).fill-value)).l
11100 69 73 74 73 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 66 ists)))..(defmacro.--annotate.(f
11120 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 50 61 69 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c orm.list)..."Pair.each.item.in.L
11140 49 53 54 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e IST.with.the.result.of.evaluatin
11160 67 20 46 4f 52 4d 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 52 45 53 g.FORM...Return.an.alist.of.(RES
11180 55 4c 54 20 2e 20 49 54 45 4d 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 49 54 45 4d 20 69 73 20 ULT...ITEM),.where.each.ITEM.is.
111a0 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 the.corresponding.element.of.LIS
111c0 54 2c 20 61 6e 64 20 52 45 53 55 4c 54 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 62 74 61 69 T,.and.RESULT.is.the.value.obtai
111e0 6e 65 64 0a 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 77 69 74 68 20 49 54 45 4d ned.by.evaluating.FORM.with.ITEM
11200 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 .bound.to.`it'...This.is.the.ana
11220 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 61 6e 6e 6f 74 61 74 65 phoric.counterpart.to.`-annotate
11240 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d '."...(declare.(debug.(form.form
11260 29 29 29 0a 20 20 60 28 2d 2d 6d 61 70 20 28 63 6f 6e 73 20 2c 66 6f 72 6d 20 69 74 29 20 2c 6c )))...`(--map.(cons.,form.it).,l
11280 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 ist))..(defun.-annotate.(fn.list
112a0 29 0a 20 20 22 50 61 69 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 77 69 74 68 )..."Pair.each.item.in.LIST.with
112c0 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 70 61 73 73 69 6e 67 20 69 74 20 74 6f 20 46 4e 2e .the.result.of.passing.it.to.FN.
112e0 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 52 45 53 55 4c 54 20 2e 20 49 ..Return.an.alist.of.(RESULT...I
11300 54 45 4d 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 49 54 45 4d 20 69 73 20 74 68 65 0a 63 6f 72 TEM),.where.each.ITEM.is.the.cor
11320 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 responding.element.of.LIST,.and.
11340 52 45 53 55 4c 54 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 62 74 61 69 6e 65 64 0a 62 79 20 RESULT.is.the.value.obtained.by.
11360 63 61 6c 6c 69 6e 67 20 46 4e 20 6f 6e 20 49 54 45 4d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 calling.FN.on.ITEM...This.functi
11380 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d on's.anaphoric.counterpart.is.`-
113a0 2d 61 6e 6e 6f 74 61 74 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 -annotate'."...(declare.(importa
113c0 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 nt-return-value.t))...(--annotat
113e0 65 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e e.(funcall.fn.it).list))..(defun
11400 20 64 61 73 68 2d 2d 74 61 62 6c 65 2d 63 61 72 72 79 20 28 6c 69 73 74 73 20 72 65 73 74 6f 72 .dash--table-carry.(lists.restor
11420 65 2d 6c 69 73 74 73 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 29 0a 20 20 22 48 65 6c 70 65 72 20 e-lists.&optional.re)..."Helper.
11440 66 6f 72 20 60 2d 74 61 62 6c 65 27 20 61 6e 64 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 27 2e 0a for.`-table'.and.`-table-flat'..
11460 0a 49 66 20 61 20 6c 69 73 74 20 6f 76 65 72 66 6c 6f 77 73 2c 20 63 61 72 72 79 20 74 6f 20 74 .If.a.list.overflows,.carry.to.t
11480 68 65 20 72 69 67 68 74 20 61 6e 64 20 72 65 73 65 74 20 74 68 65 20 6c 69 73 74 2e 22 0a 20 20 he.right.and.reset.the.list."...
114a0 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 63 61 72 20 6c 69 73 74 73 29 0a 20 20 20 20 (while.(not.(or.(car.lists).....
114c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 6c 69 73 74 73 20 27 28 6e 69 6c ..............(equal.lists.'(nil
114e0 29 29 29 29 0a 20 20 20 20 28 73 65 74 63 61 72 20 6c 69 73 74 73 20 28 63 61 72 20 72 65 73 74 )))).....(setcar.lists.(car.rest
11500 6f 72 65 2d 6c 69 73 74 73 29 29 0a 20 20 20 20 28 70 6f 70 20 28 63 61 64 72 20 6c 69 73 74 73 ore-lists)).....(pop.(cadr.lists
11520 29 29 0a 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 73 29 0a 20 20 20 20 28 21 63 64 72 20 72 65 )).....(!cdr.lists).....(!cdr.re
11540 73 74 6f 72 65 2d 6c 69 73 74 73 29 0a 20 20 20 20 28 77 68 65 6e 20 72 65 0a 20 20 20 20 20 20 store-lists).....(when.re.......
11560 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 28 63 61 72 20 72 65 29 29 20 28 63 61 64 72 20 (push.(nreverse.(car.re)).(cadr.
11580 72 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 63 61 72 20 72 65 20 6e 69 6c 29 0a 20 20 20 20 20 re)).......(setcar.re.nil)......
115a0 20 28 21 63 64 72 20 72 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 62 6c 65 20 28 66 6e .(!cdr.re))))..(defun.-table.(fn
115c0 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 .&rest.lists)..."Compute.outer.p
115e0 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 roduct.of.LISTS.using.function.F
11600 4e 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 N...The.function.FN.should.have.
11620 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a the.same.arity.as.the.number.of.
11640 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 supplied.lists...The.outer.produ
11660 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f ct.is.computed.by.applying.fn.to
11680 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 .all.possible.combinations.creat
116a0 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 ed.by.taking.one.element.from.ea
116c0 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e ch.list.in.order...The.dimension
116e0 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 .of.the.result.is.(length.lists)
11700 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 27 22 0a 20 20 28 64 ...See.also:.`-table-flat'"...(d
11720 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 eclare.(important-return-value.t
11740 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 28 63 6f 70 79 2d ))...(let.((restore-lists.(copy-
11760 73 65 71 75 65 6e 63 65 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 6c sequence.lists)).........(last-l
11780 69 73 74 20 28 6c 61 73 74 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 20 28 6d ist.(last.lists)).........(re.(m
117a0 61 6b 65 2d 6c 69 73 74 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 20 6e 69 6c 29 29 29 0a 20 ake-list.(length.lists).nil)))..
117c0 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 73 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 ...(while.(car.last-list).......
117e0 28 6c 65 74 20 28 28 69 74 65 6d 20 28 61 70 70 6c 79 20 66 6e 20 28 2d 6d 61 70 20 27 63 61 72 (let.((item.(apply.fn.(-map.'car
11800 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 65 6d 20 28 63 .lists)))).........(push.item.(c
11820 61 72 20 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 20 6c 69 73 74 73 20 28 63 ar.re)).........(setcar.lists.(c
11840 64 61 72 20 6c 69 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 62 79 74 65 20 63 6f 6d 70 dar.lists)).;;.silence.byte.comp
11860 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 6c 65 2d 63 61 72 72 79 20 iler.........(dash--table-carry.
11880 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 72 65 29 29 29 0a 20 20 20 20 28 6e lists.restore-lists.re))).....(n
118a0 72 65 76 65 72 73 65 20 28 63 61 72 20 28 6c 61 73 74 20 72 65 29 29 29 29 29 0a 0a 28 64 65 66 reverse.(car.(last.re)))))..(def
118c0 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a un.-table-flat.(fn.&rest.lists).
118e0 20 20 22 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 .."Compute.flat.outer.product.of
11900 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 54 68 65 20 66 .LISTS.using.function.FN...The.f
11920 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 unction.FN.should.have.the.same.
11940 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 arity.as.the.number.of.supplied.
11960 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d lists...The.outer.product.is.com
11980 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 puted.by.applying.fn.to.all.poss
119a0 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b ible.combinations.created.by.tak
119c0 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 ing.one.element.from.each.list.i
119e0 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 n.order...The.results.are.flatte
11a00 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 ned,.ignoring.the.tensor.structu
11a20 72 65 0a 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 re.of.the.result...This.is.equiv
11a40 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e alent.to.calling:....(-flatten-n
11a60 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 5c 5c 3d 27 .(1-.(length.lists)).(apply.\\='
11a80 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 74 68 65 20 69 6d 70 6c 65 -table.fn.lists))..but.the.imple
11aa0 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 65 66 66 69 mentation.here.is.much.more.effi
11ac0 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 2c 20 cient...See.also:.`-flatten-n',.
11ae0 60 2d 74 61 62 6c 65 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d `-table'"...(declare.(important-
11b00 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 6f 72 return-value.t))...(let.((restor
11b20 65 2d 6c 69 73 74 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 73 29 29 0a 20 e-lists.(copy-sequence.lists))..
11b40 20 20 20 20 20 20 20 28 6c 61 73 74 2d 6c 69 73 74 20 28 6c 61 73 74 20 6c 69 73 74 73 29 29 0a .......(last-list.(last.lists)).
11b60 20 20 20 20 20 20 20 20 72 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 73 74 ........re).....(while.(car.last
11b80 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 65 6d 20 28 61 70 70 6c 79 20 -list).......(let.((item.(apply.
11ba0 66 6e 20 28 2d 6d 61 70 20 27 63 61 72 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 fn.(-map.'car.lists)))).........
11bc0 28 70 75 73 68 20 69 74 65 6d 20 72 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 20 6c (push.item.re).........(setcar.l
11be0 69 73 74 73 20 28 63 64 61 72 20 6c 69 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 62 79 ists.(cdar.lists)).;;.silence.by
11c00 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 6c 65 te.compiler.........(dash--table
11c20 2d 63 61 72 72 79 20 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 29 29 0a 20 20 -carry.lists.restore-lists)))...
11c40 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 ..(nreverse.re)))..(defmacro.--f
11c60 69 6e 64 2d 69 6e 64 65 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 ind-index.(form.list)..."Return.
11c80 74 68 65 20 66 69 72 73 74 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 the.first.index.in.LIST.for.whic
11ca0 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 h.FORM.evals.to.non-nil..Return.
11cc0 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 69 6e 64 65 78 20 69 73 20 66 6f 75 6e 64 2e 0a 45 nil.if.no.such.index.is.found..E
11ce0 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 ach.element.of.LIST.in.turn.is.b
11d00 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 ound.to.`it'.and.its.index.withi
11d20 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c n.LIST.to.`it-index'.before.eval
11d40 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 uating.FORM..This.is.the.anaphor
11d60 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e ic.counterpart.to.`-find-index'.
11d80 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 "...(declare.(debug.(form.form))
11da0 29 0a 20 20 60 28 2d 2d 73 6f 6d 65 20 28 61 6e 64 20 2c 66 6f 72 6d 20 69 74 2d 69 6e 64 65 78 )...`(--some.(and.,form.it-index
11dc0 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 70 ).,list))..(defun.-find-index.(p
11de0 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 red.list)..."Return.the.index.of
11e00 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 .the.first.item.satisfying.PRED.
11e20 69 6e 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 69 in.LIST..Return.nil.if.no.such.i
11e40 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 tem.is.found...PRED.is.called.wi
11e60 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 th.one.argument,.the.current.lis
11e80 74 20 65 6c 65 6d 65 6e 74 2c 20 75 6e 74 69 6c 0a 69 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d t.element,.until.it.returns.non-
11ea0 6e 69 6c 2c 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 20 74 68 65 20 73 65 61 72 63 68 20 74 nil,.at.which.point.the.search.t
11ec0 65 72 6d 69 6e 61 74 65 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 erminates...This.function's.anap
11ee0 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6e 64 2d 69 6e 64 horic.counterpart.is.`--find-ind
11f00 65 78 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 72 73 74 27 2c 20 60 2d 66 69 6e 64 ex'...See.also:.`-first',.`-find
11f20 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 -last-index'."...(declare.(impor
11f40 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d tant-return-value.t))...(--find-
11f60 69 6e 64 65 78 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a index.(funcall.pred.it).list))..
11f80 28 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 (defun.-elem-index.(elem.list)..
11fa0 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 6e 64 65 78 20 6f 66 20 45 4c 45 4d ."Return.the.first.index.of.ELEM
11fc0 20 69 6e 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 65 78 20 77 69 74 .in.LIST..That.is,.the.index.wit
11fe0 68 69 6e 20 4c 49 53 54 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 74 68 hin.LIST.of.the.first.element.th
12000 61 74 20 69 73 0a 60 65 71 75 61 6c 27 20 74 6f 20 45 4c 45 4d 2e 20 20 52 65 74 75 72 6e 20 6e at.is.`equal'.to.ELEM...Return.n
12020 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a il.if.there.is.no.such.element..
12040 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 64 65 .See.also:.`-find-index'."...(de
12060 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 clare.(pure.t).(side-effect-free
12080 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 65 71 75 61 6c 20 65 6c 65 6d .t))...(--find-index.(equal.elem
120a0 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 69 6e .it).list))..(defmacro.--find-in
120c0 64 69 63 65 73 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 dices.(form.list)..."Return.the.
120e0 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 list.of.indices.in.LIST.for.whic
12100 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c h.FORM.evals.to.non-nil..Each.el
12120 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 ement.of.LIST.in.turn.is.bound.t
12140 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 o.`it'.and.its.index.within.LIST
12160 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 .to.`it-index'.before.evaluating
12180 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 .FORM..This.is.the.anaphoric.cou
121a0 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 27 2e 22 0a 20 20 nterpart.to.`-find-indices'."...
121c0 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 (declare.(debug.(form.form)))...
121e0 60 28 2d 2d 6b 65 65 70 20 28 61 6e 64 20 2c 66 6f 72 6d 20 69 74 2d 69 6e 64 65 78 29 20 2c 6c `(--keep.(and.,form.it-index).,l
12200 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 70 72 65 ist))..(defun.-find-indices.(pre
12220 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e d.list)..."Return.the.list.of.in
12240 64 69 63 65 73 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 2e 0a 0a dices.in.LIST.satisfying.PRED...
12260 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 Each.element.of.LIST.in.turn.is.
12280 70 61 73 73 65 64 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 passed.to.PRED...If.the.result.i
122a0 73 0a 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 61 74 20 65 6c 65 s.non-nil,.the.index.of.that.ele
122c0 6d 65 6e 74 20 69 6e 20 4c 49 53 54 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 0a ment.in.LIST.is.included.in.the.
122e0 72 65 73 75 6c 74 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 69 6e 64 69 63 65 73 20 61 72 result...The.returned.indices.ar
12300 65 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2c 20 69 2e 65 2e 2c 20 69 6e 0a 74 e.in.ascending.order,.i.e.,.in.t
12320 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 he.same.order.as.they.appear.in.
12340 4c 49 53 54 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 LIST...This.function's.anaphoric
12360 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 27 .counterpart.is.`--find-indices'
12380 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2c 20 60 2d 65 6c ...See.also:.`-find-index',.`-el
123a0 65 6d 2d 69 6e 64 69 63 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 em-indices'."...(declare.(import
123c0 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d 69 ant-return-value.t))...(--find-i
123e0 6e 64 69 63 65 73 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a ndices.(funcall.pred.it).list)).
12400 0a 28 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 74 .(defun.-elem-indices.(elem.list
12420 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 )..."Return.the.list.of.indices.
12440 61 74 20 77 68 69 63 68 20 45 4c 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 0a 54 at.which.ELEM.appears.in.LIST..T
12460 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 hat.is,.the.indices.of.all.eleme
12480 6e 74 73 20 6f 66 20 4c 49 53 54 20 60 65 71 75 61 6c 27 20 74 6f 20 45 4c 45 4d 2c 20 69 6e 0a nts.of.LIST.`equal'.to.ELEM,.in.
124a0 74 68 65 20 73 61 6d 65 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 the.same.ascending.order.as.they
124c0 20 61 70 70 65 61 72 20 69 6e 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 .appear.in.LIST."...(declare.(pu
124e0 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d re.t).(side-effect-free.t))...(-
12500 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 65 71 75 61 6c 20 65 6c 65 6d 20 69 74 29 20 6c 69 -find-indices.(equal.elem.it).li
12520 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 st))..(defmacro.--find-last-inde
12540 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 x.(form.list)..."Return.the.last
12560 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 .index.in.LIST.for.which.FORM.ev
12580 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f als.to.non-nil..Return.nil.if.no
125a0 20 73 75 63 68 20 69 6e 64 65 78 20 69 73 20 66 6f 75 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 .such.index.is.found..Each.eleme
125c0 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 nt.of.LIST.in.turn.is.bound.to.`
125e0 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f it'.and.its.index.within.LIST.to
12600 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f .`it-index'.before.evaluating.FO
12620 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 RM..This.is.the.anaphoric.counte
12640 72 70 61 72 74 20 74 6f 20 60 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 22 0a 20 20 rpart.to.`-find-last-index'."...
12660 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 (declare.(debug.(form.form)))...
12680 28 6c 65 74 20 28 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 6e 64 65 78 22 29 29 29 (let.((i.(make-symbol."index")))
126a0 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 69 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c .....`(let.(,i)........(--each.,
126c0 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 list..........(when.,form.(setq.
126e0 2c 69 20 69 74 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 2c 69 29 29 29 0a 0a 28 64 65 ,i.it-index)))........,i)))..(de
12700 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 fun.-find-last-index.(pred.list)
12720 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 ..."Return.the.index.of.the.last
12740 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 52 .item.satisfying.PRED.in.LIST..R
12760 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 eturn.nil.if.no.such.item.is.fou
12780 6e 64 2e 0a 0a 50 72 65 64 69 63 61 74 65 20 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 nd...Predicate.PRED.is.called.wi
127a0 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 65 61 63 68 20 74 69 6d 65 2c 20 6e 61 6d 65 6c th.one.argument.each.time,.namel
127c0 79 20 74 68 65 0a 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2e 0a 0a 54 68 69 y.the.current.list.element...Thi
127e0 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s.function's.anaphoric.counterpa
12800 72 74 20 69 73 20 60 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 0a 0a 53 65 65 20 rt.is.`--find-last-index'...See.
12820 61 6c 73 6f 3a 20 60 2d 6c 61 73 74 27 2c 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 also:.`-last',.`-find-index'."..
12840 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 .(declare.(important-return-valu
12860 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 66 75 6e 63 e.t))...(--find-last-index.(func
12880 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c all.pred.it).list))..(defun.-sel
128a0 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 ect-by-indices.(indices.list)...
128c0 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 "Return.a.list.whose.elements.ar
128e0 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 20 73 65 6c 65 63 74 65 64 0a 61 73 e.elements.from.LIST.selected.as
12900 20 60 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 .`(nth.i.list)`.for.all.i.from.I
12920 4e 44 49 43 45 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 NDICES."...(declare.(pure.t).(si
12940 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 29 0a 20 20 de-effect-free.t))...(let.(r)...
12960 20 20 28 2d 2d 65 61 63 68 20 69 6e 64 69 63 65 73 0a 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 ..(--each.indices.......(!cons.(
12980 6e 74 68 20 69 74 20 6c 69 73 74 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 nth.it.list).r)).....(nreverse.r
129a0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c )))..(defun.-select-columns.(col
129c0 75 6d 6e 73 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 umns.table)..."Select.COLUMNS.fr
129e0 6f 6d 20 54 41 42 4c 45 2e 0a 0a 54 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 om.TABLE...TABLE.is.a.list.of.li
12a00 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 sts.where.each.element.represent
12a20 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f s.one.row..It.is.assumed.each.ro
12a40 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 w.has.the.same.length...Each.row
12a60 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 .is.transformed.such.that.only.t
12a80 68 65 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 73 65 6c 65 63 74 65 he.specified.COLUMNS.are.selecte
12aa0 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 27 2c 20 d...See.also:.`-select-column',.
12ac0 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 27 22 0a 20 20 28 64 65 63 6c 61 72 65 `-select-by-indices'"...(declare
12ae0 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a .(pure.t).(side-effect-free.t)).
12b00 20 20 28 2d 2d 6d 61 70 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 63 6f 6c ..(--map.(-select-by-indices.col
12b20 75 6d 6e 73 20 69 74 29 20 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 umns.it).table))..(defun.-select
12b40 2d 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 -column.(column.table)..."Select
12b60 20 43 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 54 41 42 4c 45 20 69 73 20 61 20 .COLUMN.from.TABLE...TABLE.is.a.
12b80 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 list.of.lists.where.each.element
12ba0 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d .represents.one.row..It.is.assum
12bc0 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e ed.each.row.has.the.same.length.
12be0 0a 0a 54 68 65 20 73 69 6e 67 6c 65 20 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 ..The.single.selected.column.is.
12c00 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 returned.as.a.list...See.also:.`
12c20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 27 2c 20 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e -select-columns',.`-select-by-in
12c40 64 69 63 65 73 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 dices'"...(declare.(pure.t).(sid
12c60 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d e-effect-free.t))...(--mapcat.(-
12c80 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 6c 69 73 74 20 63 6f 6c 75 6d 6e 29 20 select-by-indices.(list.column).
12ca0 69 74 29 20 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 20 28 78 20 26 6f 70 it).table))..(defmacro.->.(x.&op
12cc0 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 54 68 72 65 61 tional.form.&rest.more)..."Threa
12ce0 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e d.the.expr.through.the.forms..In
12d00 73 65 72 74 20 58 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 69 6e 20 74 68 65 sert.X.as.the.second.item.in.the
12d20 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 .first.form,.making.a.list.of.it
12d40 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 .if.it.is.not.a.list.already..If
12d60 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 .there.are.more.forms,.insert.th
12d80 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e 64 20 69 74 65 6d 20 e.first.form.as.the.second.item.
12da0 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 in.second.form,.etc."...(declare
12dc0 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 .(debug.(form.&rest.[&or.symbolp
12de0 20 28 73 65 78 70 20 26 72 65 73 74 20 66 6f 72 6d 29 5d 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 .(sexp.&rest.form)])))...(cond..
12e00 20 20 28 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 29 0a 20 20 20 28 28 6e 75 6c 6c 20 6d 6f 72 65 ..((null.form).x)....((null.more
12e20 29 20 28 69 66 20 28 6c 69 73 74 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(if.(listp.form)..............
12e40 20 20 20 20 20 20 20 60 28 2c 28 63 61 72 20 66 6f 72 6d 29 20 2c 78 20 2c 40 28 63 64 72 20 66 .......`(,(car.form).,x.,@(cdr.f
12e60 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 6f orm))...................(list.fo
12e80 72 6d 20 78 29 29 29 0a 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 20 28 2d 3e 20 2c 78 20 2c 66 rm.x)))....(:else.`(->.(->.,x.,f
12ea0 6f 72 6d 29 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 3e 20 28 orm).,@more))))..(defmacro.->>.(
12ec0 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 x.&optional.form.&rest.more)..."
12ee0 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d Thread.the.expr.through.the.form
12f00 73 2e 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 s..Insert.X.as.the.last.item.in.
12f20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 the.first.form,.making.a.list.of
12f40 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e .it.if.it.is.not.a.list.already.
12f60 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 .If.there.are.more.forms,.insert
12f80 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d .the.first.form.as.the.last.item
12fa0 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 .in.second.form,.etc."...(declar
12fc0 65 20 28 64 65 62 75 67 20 2d 3e 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 e.(debug.->))...(cond....((null.
12fe0 66 6f 72 6d 29 20 78 29 0a 20 20 20 28 28 6e 75 6c 6c 20 6d 6f 72 65 29 20 28 69 66 20 28 6c 69 form).x)....((null.more).(if.(li
13000 73 74 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 stp.form).....................`(
13020 2c 40 66 6f 72 6d 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 ,@form.,x)...................(li
13040 73 74 20 66 6f 72 6d 20 78 29 29 29 0a 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 3e 20 28 2d 3e st.form.x)))....(:else.`(->>.(->
13060 3e 20 2c 78 20 2c 66 6f 72 6d 29 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 >.,x.,form).,@more))))..(defmacr
13080 6f 20 2d 2d 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 61 72 74 69 6e o.-->.(x.&rest.forms)..."Startin
130a0 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 58 2c 20 74 68 72 65 61 64 20 65 61 g.with.the.value.of.X,.thread.ea
130c0 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 49 6e ch.expression.through.FORMS...In
130e0 73 65 72 74 20 58 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 sert.X.at.the.position.signified
13100 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 69 74 27 20 69 6e 20 74 68 65 20 66 69 72 73 74 .by.the.symbol.`it'.in.the.first
13120 0a 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c .form...If.there.are.more.forms,
13140 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 20 70 6f .insert.the.first.form.at.the.po
13160 73 69 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 20 60 69 74 27 20 69 6e 20 74 68 65 20 sition.signified.by.`it'.in.the.
13180 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 second.form,.etc."...(declare.(d
131a0 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 29 0a 20 20 60 28 2d 61 73 2d 3e 20 2c 78 20 ebug.(form.body)))...`(-as->.,x.
131c0 69 74 20 2c 40 66 6f 72 6d 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 61 73 2d 3e 20 28 76 it.,@forms))..(defmacro.-as->.(v
131e0 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 alue.variable.&rest.forms)..."St
13200 61 72 74 69 6e 67 20 77 69 74 68 20 56 41 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 52 49 41 42 arting.with.VALUE,.thread.VARIAB
13220 4c 45 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 49 6e 20 74 68 65 20 66 69 72 73 74 20 LE.through.FORMS...In.the.first.
13240 66 6f 72 6d 2c 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 6f 20 56 41 4c 55 45 2e 20 20 49 form,.bind.VARIABLE.to.VALUE...I
13260 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 69 6e 64 0a 56 41 52 49 41 42 4c 45 n.the.second.form,.bind.VARIABLE
13280 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d .to.the.result.of.the.first.form
132a0 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 ,.and.so.forth."...(declare.(deb
132c0 75 67 20 28 66 6f 72 6d 20 73 79 6d 62 6f 6c 70 20 62 6f 64 79 29 29 29 0a 20 20 28 69 66 20 28 ug.(form.symbolp.body)))...(if.(
132e0 6e 75 6c 6c 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 60 2c 76 61 6c 75 65 0a 20 20 20 20 60 28 null.forms).......`,value.....`(
13300 6c 65 74 20 28 28 2c 76 61 72 69 61 62 6c 65 20 2c 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 let.((,variable.,value))........
13320 28 2d 61 73 2d 3e 20 2c 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 66 6f 72 6d 73 29 (-as->.,(if.(symbolp.(car.forms)
13340 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 )....................(list.(car.
13360 66 6f 72 6d 73 29 20 76 61 72 69 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 forms).variable)................
13380 20 20 28 63 61 72 20 66 6f 72 6d 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 76 61 ..(car.forms))...............,va
133a0 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 6d riable...............,@(cdr.form
133c0 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 s)))))..(defmacro.-some->.(x.&op
133e0 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 57 68 65 6e 20 tional.form.&rest.more)..."When.
13400 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 expr.is.non-nil,.thread.it.throu
13420 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 27 29 2c 0a 61 6e gh.the.first.form.(via.`->'),.an
13440 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 d.when.that.result.is.non-nil,.t
13460 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 hrough.the.next.form,.etc."...(d
13480 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e eclare.(debug.->)............(in
134a0 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 0a 20 20 20 dent.1))...(if.(null.form).x....
134c0 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 .(let.((result.(make-symbol."res
134e0 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 20 28 2d 77 68 65 6e 2d 6c ult"))).......`(-some->.(-when-l
13500 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 et.(,result.,x).................
13520 20 20 28 2d 3e 20 2c 72 65 73 75 6c 74 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 2c ..(->.,result.,form))..........,
13540 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 3e 20 28 78 @more))))..(defmacro.-some->>.(x
13560 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 57 .&optional.form.&rest.more)..."W
13580 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 hen.expr.is.non-nil,.thread.it.t
135a0 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 3e 27 hrough.the.first.form.(via.`->>'
135c0 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e ),.and.when.that.result.is.non-n
135e0 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 il,.through.the.next.form,.etc."
13600 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 ...(declare.(debug.->)..........
13620 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 ..(indent.1))...(if.(null.form).
13640 78 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c x.....(let.((result.(make-symbol
13660 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 3e 20 28 2d ."result"))).......`(-some->>.(-
13680 77 68 65 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 when-let.(,result.,x)...........
136a0 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 2c 72 65 73 75 6c 74 20 2c 66 6f 72 6d 29 29 0a 20 20 .........(->>.,result.,form))...
136c0 20 20 20 20 20 20 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f .......,@more))))..(defmacro.-so
136e0 6d 65 2d 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 54 68 72 65 me-->.(expr.&rest.forms)..."Thre
13700 61 64 20 45 58 50 52 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 20 76 69 61 20 60 2d 2d 3e 27 2c ad.EXPR.through.FORMS.via.`-->',
13720 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 .while.the.result.is.non-nil..Wh
13740 65 6e 20 45 58 50 52 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 en.EXPR.evaluates.to.non-nil,.th
13760 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 read.the.result.through.the.firs
13780 74 20 6f 66 20 46 4f 52 4d 53 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 t.of.FORMS,.and.when.that.result
137a0 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 0a 74 68 72 6f 75 67 68 20 74 .is.non-nil,.thread.it.through.t
137c0 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 he.next.form,.etc."...(declare.(
137e0 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 26 6f 72 20 73 79 6d 62 6f 6c 70 20 63 6f debug.(form.&rest.&or.symbolp.co
13800 6e 73 70 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f nsp)).(indent.1))...(if.(null.fo
13820 72 6d 73 29 20 65 78 70 72 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b rms).expr.....(let.((result.(mak
13840 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f e-symbol."result"))).......`(-so
13860 6d 65 2d 2d 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 65 78 70 72 29 me-->.(-when-let.(,result.,expr)
13880 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 2c 72 65 73 75 6c 74 ....................(-->.,result
138a0 20 2c 28 63 61 72 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 .,(car.forms)))..........,@(cdr.
138c0 66 6f 72 6d 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 64 6f 74 6f 20 28 69 6e 69 forms)))))..(defmacro.-doto.(ini
138e0 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 49 4e 49 54 20 t.&rest.forms)..."Evaluate.INIT.
13900 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 46 4f 52 4d 53 and.pass.it.as.argument.to.FORMS
13920 20 77 69 74 68 20 60 2d 3e 27 2e 0a 54 68 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 .with.`->'..The.RESULT.of.evalua
13940 74 69 6e 67 20 49 4e 49 54 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 ting.INIT.is.threaded.through.ea
13960 63 68 20 6f 66 20 46 4f 52 4d 53 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 60 ch.of.FORMS.individually.using.`
13980 2d 3e 27 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 ->',.which.see...The.return.valu
139a0 65 20 69 73 20 52 45 53 55 4c 54 2c 0a 77 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 e.is.RESULT,.which.FORMS.may.hav
139c0 65 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 22 0a 20 20 28 64 e.modified.by.side.effect."...(d
139e0 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 26 6f 72 20 73 79 eclare.(debug.(form.&rest.&or.sy
13a00 6d 62 6f 6c 70 20 63 6f 6e 73 70 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 mbolp.consp)).(indent.1))...(let
13a20 20 28 28 72 65 74 76 61 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 .((retval.(make-symbol."result")
13a40 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 72 65 74 76 61 6c 20 2c 69 6e 69 74 29 29 0a 20 )).....`(let.((,retval.,init))..
13a60 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 6f 72 6d 29 20 60 ......,@(mapcar.(lambda.(form).`
13a80 28 2d 3e 20 2c 72 65 74 76 61 6c 20 2c 66 6f 72 6d 29 29 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 (->.,retval.,form)).forms)......
13aa0 20 20 2c 72 65 74 76 61 6c 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 6f 74 6f 20 28 ..,retval)))..(defmacro.--doto.(
13ac0 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 init.&rest.forms)..."Anaphoric.f
13ae0 6f 72 6d 20 6f 66 20 60 2d 64 6f 74 6f 27 2e 0a 54 68 69 73 20 6a 75 73 74 20 65 76 61 6c 75 61 orm.of.`-doto'..This.just.evalua
13b00 74 65 73 20 49 4e 49 54 2c 20 62 69 6e 64 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 6f 20 60 69 tes.INIT,.binds.the.result.to.`i
13b20 74 27 2c 20 65 76 61 6c 75 61 74 65 73 0a 46 4f 52 4d 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 t',.evaluates.FORMS,.and.returns
13b40 20 74 68 65 20 66 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 60 69 74 27 2e 0a 4e 6f 74 65 3a 20 .the.final.value.of.`it'..Note:.
13b60 60 69 74 27 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 65 61 63 68 20 66 6f `it'.need.not.be.used.in.each.fo
13b80 72 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 rm."...(declare.(debug.(form.bod
13ba0 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 6c 65 74 20 28 28 69 74 20 2c 69 6e y)).(indent.1))...`(let.((it.,in
13bc0 69 74 29 29 0a 20 20 20 20 20 2c 40 66 6f 72 6d 73 0a 20 20 20 20 20 69 74 29 29 0a 0a 28 64 65 it))......,@forms......it))..(de
13be0 66 75 6e 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a fun.-grade-up.(comparator.list).
13c00 20 20 22 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 .."Grade.elements.of.LIST.using.
13c20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 COMPARATOR.relation..This.yields
13c40 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 .a.permutation.vector.such.that.
13c60 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 applying.this.permutation.to.LIS
13c80 54 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a T.sorts.it.in.ascending.order.".
13ca0 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c ..(declare.(important-return-val
13cc0 75 65 20 74 29 29 0a 20 20 28 2d 3e 3e 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 63 6f ue.t))...(->>.(--map-indexed.(co
13ce0 6e 73 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 2d 73 ns.it.it-index).list)........(-s
13d00 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 28 66 75 6e 63 61 6c 6c 20 ort.(lambda.(it.other).(funcall.
13d20 63 6f 6d 70 61 72 61 74 6f 72 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 comparator.(car.it).(car.other))
13d40 29 29 0a 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 63 64 72 29 29 29 0a 0a 28 64 65 66 ))........(mapcar.#'cdr)))..(def
13d60 75 6e 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 un.-grade-down.(comparator.list)
13d80 0a 20 20 22 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 ..."Grade.elements.of.LIST.using
13da0 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 .COMPARATOR.relation..This.yield
13dc0 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 s.a.permutation.vector.such.that
13de0 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 .applying.this.permutation.to.LI
13e00 53 54 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e ST.sorts.it.in.descending.order.
13e20 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 "...(declare.(important-return-v
13e40 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 3e 3e 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 alue.t))...(->>.(--map-indexed.(
13e60 63 6f 6e 73 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 cons.it.it-index).list)........(
13e80 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 28 66 75 6e 63 61 6c -sort.(lambda.(it.other).(funcal
13ea0 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 28 63 61 72 20 6f 74 68 65 72 29 20 28 63 61 72 20 69 74 l.comparator.(car.other).(car.it
13ec0 29 29 29 29 0a 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 63 64 72 29 29 29 0a 0a 28 64 ))))........(mapcar.#'cdr)))..(d
13ee0 65 66 76 61 72 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 6f 75 6e 74 65 72 20 30 0a 20 20 22 efvar.dash--source-counter.0..."
13f00 4d 6f 6e 6f 74 6f 6e 69 63 20 63 6f 75 6e 74 65 72 20 66 6f 72 20 67 65 6e 65 72 61 74 65 64 20 Monotonic.counter.for.generated.
13f20 73 79 6d 62 6f 6c 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d symbols.")..(defun.dash--match-m
13f40 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d 62 6f 6c 20 28 29 0a 20 20 22 47 65 6e 65 72 61 74 65 ake-source-symbol.()..."Generate
13f60 20 61 20 6e 65 77 20 64 61 73 68 2d 73 6f 75 72 63 65 20 73 79 6d 62 6f 6c 2e 0a 0a 41 6c 6c 20 .a.new.dash-source.symbol...All.
13f80 72 65 74 75 72 6e 65 64 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 returned.symbols.are.guaranteed.
13fa0 74 6f 20 62 65 20 75 6e 69 71 75 65 2e 22 0a 20 20 28 70 72 6f 67 31 20 28 6d 61 6b 65 2d 73 79 to.be.unique."...(prog1.(make-sy
13fc0 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 2d 2d 64 61 73 68 2d 73 6f 75 72 63 65 2d 25 64 2d 2d mbol.(format."--dash-source-%d--
13fe0 22 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 6f 75 6e 74 65 72 29 29 0a 20 20 20 20 28 73 65 ".dash--source-counter)).....(se
14000 74 71 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 6f 75 6e 74 65 72 20 28 31 2b 20 64 61 73 68 tq.dash--source-counter.(1+.dash
14020 2d 2d 73 6f 75 72 63 65 2d 63 6f 75 6e 74 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 --source-counter))))..(defun.das
14040 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 28 73 79 6d 62 6f 6c 29 h--match-ignore-place-p.(symbol)
14060 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 59 4d 42 4f 4c 20 69 73 20 ..."Return.non-nil.if.SYMBOL.is.
14080 61 20 73 79 6d 62 6f 6c 20 61 6e 64 20 73 74 61 72 74 73 20 77 69 74 68 20 5f 2e 22 0a 20 20 28 a.symbol.and.starts.with._."...(
140a0 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 28 65 71 20 and.(symbolp.symbol)........(eq.
140c0 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 20 30 29 20 3f 5f (aref.(symbol-name.symbol).0).?_
140e0 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 73 6b 69 )))..(defun.dash--match-cons-ski
14100 70 2d 63 64 72 20 28 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 p-cdr.(skip-cdr.source)..."Helpe
14120 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 r.function.generating.idiomatic.
14140 73 68 69 66 74 69 6e 67 20 63 6f 64 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 73 shifting.code."...(cond....((=.s
14160 6b 69 70 2d 63 64 72 20 30 29 0a 20 20 20 20 60 28 70 6f 70 20 2c 73 6f 75 72 63 65 29 29 0a 20 kip-cdr.0).....`(pop.,source))..
14180 20 20 28 74 0a 20 20 20 20 60 28 70 72 6f 67 31 20 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 ..(t.....`(prog1.,(dash--match-c
141a0 6f 6e 73 2d 67 65 74 2d 63 61 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 20 ons-get-car.skip-cdr.source)....
141c0 20 20 20 20 28 73 65 74 71 20 2c 73 6f 75 72 63 65 20 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d ....(setq.,source.,(dash--match-
141e0 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 28 31 2b 20 73 6b 69 70 2d 63 64 72 29 20 73 6f 75 72 63 cons-get-cdr.(1+.skip-cdr).sourc
14200 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 e))))))..(defun.dash--match-cons
14220 2d 67 65 74 2d 63 61 72 20 28 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 -get-car.(skip-cdr.source)..."He
14240 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 lper.function.generating.idiomat
14260 69 63 20 63 6f 64 65 20 74 6f 20 67 65 74 20 6e 74 68 20 63 61 72 2e 22 0a 20 20 28 63 6f 6e 64 ic.code.to.get.nth.car."...(cond
14280 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 30 29 0a 20 20 20 20 60 28 63 61 72 20 2c 73 ....((=.skip-cdr.0).....`(car.,s
142a0 6f 75 72 63 65 29 29 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 31 29 0a 20 20 20 20 60 ource))....((=.skip-cdr.1).....`
142c0 28 63 61 64 72 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 28 74 0a 20 20 20 20 60 28 6e 74 68 20 (cadr.,source))....(t.....`(nth.
142e0 2c 73 6b 69 70 2d 63 64 72 20 2c 73 6f 75 72 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 ,skip-cdr.,source))))..(defun.da
14300 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 28 73 6b 69 70 2d 63 64 72 sh--match-cons-get-cdr.(skip-cdr
14320 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 .source)..."Helper.function.gene
14340 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 63 6f 64 65 20 74 6f 20 67 65 74 20 6e 74 68 rating.idiomatic.code.to.get.nth
14360 20 63 64 72 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 30 .cdr."...(cond....((=.skip-cdr.0
14380 29 0a 20 20 20 20 73 6f 75 72 63 65 29 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 31 29 ).....source)....((=.skip-cdr.1)
143a0 0a 20 20 20 20 60 28 63 64 72 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 28 74 0a 20 20 20 20 60 .....`(cdr.,source))....(t.....`
143c0 28 6e 74 68 63 64 72 20 2c 73 6b 69 70 2d 63 64 72 20 2c 73 6f 75 72 63 65 29 29 29 29 0a 0a 28 (nthcdr.,skip-cdr.,source))))..(
143e0 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 20 28 6d 61 74 63 68 2d 66 6f defun.dash--match-cons.(match-fo
14400 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 65 74 75 70 20 61 20 63 6f 6e 73 20 6d 61 74 63 68 rm.source)..."Setup.a.cons.match
14420 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 63 61 6c 6c 20 74 68 65 20 72 65 61 ing.environment.and.call.the.rea
14440 6c 20 6d 61 74 63 68 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 20 28 64 61 73 68 2d 2d 6d 61 l.matcher."...(let.((s.(dash--ma
14460 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 tch-make-source-symbol))........
14480 20 28 6e 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 .(n.0).........(m.match-form))..
144a0 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 6d 29 0a 20 20 20 20 20 20 20 ...(while.(and.(consp.m)........
144c0 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 .........(dash--match-ignore-pla
144e0 63 65 2d 70 20 28 63 61 72 20 6d 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 31 2b ce-p.(car.m))).......(setq.n.(1+
14500 20 6e 29 29 20 28 21 63 64 72 20 6d 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b .n)).(!cdr.m)).....(cond......;;
14520 20 77 68 65 6e 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 70 61 74 74 65 72 6e 20 69 .when.we.only.have.one.pattern.i
14540 6e 20 74 68 65 20 6c 69 73 74 2c 20 77 65 20 64 6f 6e 27 74 20 68 61 76 65 20 74 6f 0a 20 20 20 n.the.list,.we.don't.have.to....
14560 20 20 3b 3b 20 63 72 65 61 74 65 20 61 20 74 65 6d 70 6f 72 61 72 79 20 62 69 6e 64 69 6e 67 20 ..;;.create.a.temporary.binding.
14580 28 2d 2d 64 61 73 68 2d 73 6f 75 72 63 65 2d 2d 29 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 (--dash-source--).for.the.source
145a0 0a 20 20 20 20 20 3b 3b 20 61 6e 64 20 6a 75 73 74 20 75 73 65 20 74 68 65 20 69 6e 70 75 74 20 ......;;.and.just.use.the.input.
145c0 64 69 72 65 63 74 6c 79 0a 20 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 6d 29 0a 20 20 directly......((and.(consp.m)...
145e0 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 63 64 72 20 6d 29 29 29 0a 20 20 20 20 20 20 28 64 .........(not.(cdr.m))).......(d
14600 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d ash--match.(car.m).(dash--match-
14620 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 6e 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 3b 3b cons-get-car.n.source)))......;;
14640 20 68 61 6e 64 6c 65 20 6f 74 68 65 72 20 73 70 65 63 69 61 6c 20 74 79 70 65 73 0a 20 20 20 20 .handle.other.special.types.....
14660 20 28 28 3e 20 6e 20 30 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 6d 20 28 .((>.n.0).......(dash--match.m.(
14680 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 6e 20 73 6f 75 72 63 dash--match-cons-get-cdr.n.sourc
146a0 65 29 29 29 0a 20 20 20 20 20 3b 3b 20 74 68 69 73 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 65 6e e)))......;;.this.is.the.only.en
146c0 74 72 79 2d 70 6f 69 6e 74 20 66 6f 72 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 try-point.for.dash--match-cons-1
146e0 2c 20 74 68 61 74 27 73 0a 20 20 20 20 20 3b 3b 20 77 68 79 20 77 65 20 63 61 6e 27 74 20 73 69 ,.that's......;;.why.we.can't.si
14700 6d 70 6c 79 20 75 73 65 20 74 68 65 20 61 62 6f 76 65 20 62 72 61 6e 63 68 2c 20 69 74 20 77 6f mply.use.the.above.branch,.it.wo
14720 75 6c 64 20 70 72 6f 64 75 63 65 0a 20 20 20 20 20 3b 3b 20 69 6e 66 69 6e 69 74 65 20 72 65 63 uld.produce......;;.infinite.rec
14740 75 72 73 69 6f 6e 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 ursion......(t.......(cons.(list
14760 20 73 20 73 6f 75 72 63 65 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 6d .s.source).(dash--match-cons-1.m
14780 61 74 63 68 2d 66 6f 72 6d 20 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d atch-form.s))))))..(defun.dash--
147a0 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 28 74 79 70 65 29 0a 20 20 22 47 65 get-expand-function.(type)..."Ge
147c0 74 20 65 78 70 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 66 6f 72 20 54 59 50 45 2e t.expand.function.name.for.TYPE.
147e0 22 0a 20 20 28 69 6e 74 65 72 6e 2d 73 6f 66 74 20 28 66 6f 72 6d 61 74 20 22 64 61 73 68 2d 65 "...(intern-soft.(format."dash-e
14800 78 70 61 6e 64 3a 25 73 22 20 74 79 70 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d xpand:%s".type)))..(defun.dash--
14820 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 20 match-cons-1.(match-form.source.
14840 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 70 73 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d &optional.props)..."Match.MATCH-
14860 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d FORM.against.SOURCE...MATCH-FORM
14880 20 69 73 20 61 20 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 2e 20 20 .is.a.proper.or.improper.list...
148a0 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 65 69 Each.element.of.MATCH-FORM.is.ei
148c0 74 68 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 ther.a.symbol,.which.gets.bound.
148e0 74 6f 20 74 68 65 20 72 65 73 70 65 63 74 69 76 65 0a 76 61 6c 75 65 20 69 6e 20 73 6f 75 72 63 to.the.respective.value.in.sourc
14900 65 20 6f 72 20 61 6e 6f 74 68 65 72 20 6d 61 74 63 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 e.or.another.match.form.which.ge
14920 74 73 20 64 65 73 74 72 75 63 74 75 72 65 64 0a 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 49 66 ts.destructured.recursively...If
14940 20 74 68 65 20 63 64 72 20 6f 66 20 6c 61 73 74 20 63 6f 6e 73 20 63 65 6c 6c 20 69 6e 20 74 68 .the.cdr.of.last.cons.cell.in.th
14960 65 20 6c 69 73 74 20 69 73 20 6e 69 6c 2c 20 6d 61 74 63 68 69 6e 67 20 73 74 6f 70 73 0a 74 68 e.list.is.nil,.matching.stops.th
14980 65 72 65 2e 0a 0a 53 4f 55 52 43 45 20 69 73 20 61 20 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 ere...SOURCE.is.a.proper.or.impr
149a0 6f 70 65 72 20 6c 69 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 6b 69 70 2d 63 64 72 20 28 6f oper.list."...(let.((skip-cdr.(o
149c0 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 73 20 3a 73 6b 69 70 2d 63 64 72 29 20 30 29 r.(plist-get.props.:skip-cdr).0)
149e0 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 63 6f 6e 73 70 20 6d 61 74 63 68 2d )).....(cond......((consp.match-
14a00 66 6f 72 6d 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 63 64 72 20 6d form).......(cond........((cdr.m
14a20 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 atch-form).........(cond........
14a40 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d ..((and.(symbolp.(car.match-form
14a60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 ))................(functionp.(da
14a80 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6d 61 74 sh--get-expand-function.(car.mat
14aa0 63 68 2d 66 6f 72 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 ch-form))))...........(dash--mat
14ac0 63 68 2d 6b 76 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 7a 65 2d ch-kv.(dash--match-kv-normalize-
14ae0 6d 61 74 63 68 2d 66 6f 72 6d 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 match-form.match-form).(dash--ma
14b00 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 tch-cons-get-cdr.skip-cdr.source
14b20 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 )))..........((dash--match-ignor
14b40 65 2d 70 6c 61 63 65 2d 70 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 e-place-p.(car.match-form)).....
14b60 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 63 64 72 20 6d ......(dash--match-cons-1.(cdr.m
14b80 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atch-form).source...............
14ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f 70 73 ................(plist-put.props
14bc0 20 3a 73 6b 69 70 2d 63 64 72 20 28 31 2b 20 73 6b 69 70 2d 63 64 72 29 29 29 29 0a 20 20 20 20 .:skip-cdr.(1+.skip-cdr)))).....
14be0 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 28 64 61 73 68 .....(t...........(-concat.(dash
14c00 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d --match.(car.match-form).(dash--
14c20 6d 61 74 63 68 2d 63 6f 6e 73 2d 73 6b 69 70 2d 63 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 match-cons-skip-cdr.skip-cdr.sou
14c40 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d rce))....................(dash--
14c60 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f match-cons-1.(cdr.match-form).so
14c80 75 72 63 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 74 20 3b 3b 20 4c 61 73 74 20 6d 61 74 63 urce)))))........(t.;;.Last.matc
14ca0 68 69 6e 67 20 70 6c 61 63 65 2c 20 6e 6f 20 6e 65 65 64 20 66 6f 72 20 73 68 69 66 74 0a 20 20 hing.place,.no.need.for.shift...
14cc0 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f ......(dash--match.(car.match-fo
14ce0 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 73 6b rm).(dash--match-cons-get-car.sk
14d00 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 29 29 29 0a 20 20 20 20 20 28 28 65 71 20 6d 61 74 ip-cdr.source)))))......((eq.mat
14d20 63 68 2d 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 28 74 20 ch-form.nil).......nil)......(t.
14d40 3b 3b 20 48 61 6e 64 6c 65 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 20 20 4c 61 73 74 20 ;;.Handle.improper.lists...Last.
14d60 6d 61 74 63 68 69 6e 67 20 70 6c 61 63 65 2c 20 6e 6f 20 6e 65 65 64 20 66 6f 72 20 73 68 69 66 matching.place,.no.need.for.shif
14d80 74 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 6d 61 74 63 68 2d 66 6f 72 6d 20 t.......(dash--match.match-form.
14da0 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 73 6b 69 70 2d 63 (dash--match-cons-get-cdr.skip-c
14dc0 64 72 20 73 6f 75 72 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 dr.source))))))..(defun.dash--ma
14de0 74 63 68 2d 76 65 63 74 6f 72 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 tch-vector.(match-form.source)..
14e00 20 22 53 65 74 75 70 20 61 20 76 65 63 74 6f 72 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f ."Setup.a.vector.matching.enviro
14e20 6e 6d 65 6e 74 20 61 6e 64 20 63 61 6c 6c 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e nment.and.call.the.real.matcher.
14e40 22 0a 20 20 28 6c 65 74 20 28 28 73 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 "...(let.((s.(dash--match-make-s
14e60 6f 75 72 63 65 2d 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b ource-symbol))).....(cond......;
14e80 3b 20 64 6f 6e 27 74 20 62 69 6e 64 20 60 73 27 20 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 ;.don't.bind.`s'.if.we.only.have
14ea0 20 6f 6e 65 20 73 75 62 2d 70 61 74 74 65 72 6e 0a 20 20 20 20 20 28 28 3d 20 28 6c 65 6e 67 74 .one.sub-pattern......((=.(lengt
14ec0 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 31 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 h.match-form).1).......(dash--ma
14ee0 74 63 68 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 30 29 20 60 28 61 72 65 66 20 2c tch.(aref.match-form.0).`(aref.,
14f00 73 6f 75 72 63 65 20 30 29 29 29 0a 20 20 20 20 20 3b 3b 20 69 66 20 74 68 65 20 73 6f 75 72 63 source.0)))......;;.if.the.sourc
14f20 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2c 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 e.is.a.symbol,.we.don't.need.to.
14f40 72 65 2d 62 69 6e 64 20 69 74 0a 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 73 6f 75 72 63 65 re-bind.it......((symbolp.source
14f60 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 2d 31 20 6d 61 ).......(dash--match-vector-1.ma
14f80 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 tch-form.source))......;;.don't.
14fa0 62 69 6e 64 20 60 73 27 20 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 bind.`s'.if.we.only.have.one.sub
14fc0 2d 70 61 74 74 65 72 6e 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 67 6e 6f 72 65 64 0a 20 20 -pattern.which.is.not.ignored...
14fe0 20 20 20 28 28 6c 65 74 2a 20 28 28 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 20 28 6d 61 70 63 ...((let*.((ignored-places.(mapc
15000 61 72 20 27 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 6d ar.'dash--match-ignore-place-p.m
15020 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 atch-form))..............(ignore
15040 64 2d 70 6c 61 63 65 73 2d 6e 20 28 6c 65 6e 67 74 68 20 28 2d 72 65 6d 6f 76 65 20 27 6e 75 6c d-places-n.(length.(-remove.'nul
15060 6c 20 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 l.ignored-places)))).........(wh
15080 65 6e 20 28 3d 20 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 en.(=.ignored-places-n.(1-.(leng
150a0 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 th.match-form)))...........(let.
150c0 28 28 6e 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 27 6e 75 6c 6c 20 69 67 6e 6f 72 65 64 2d 70 ((n.(-find-index.'null.ignored-p
150e0 6c 61 63 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 laces))).............(dash--matc
15100 68 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 6e 29 20 60 28 61 72 65 66 20 2c 73 6f h.(aref.match-form.n).`(aref.,so
15120 75 72 63 65 20 2c 6e 29 29 29 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e urce.,n))))))......(t.......(con
15140 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 s.(list.s.source).(dash--match-v
15160 65 63 74 6f 72 2d 31 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 29 29 29 29 29 29 0a 0a 28 64 65 66 ector-1.match-form.s))))))..(def
15180 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 2d 31 20 28 6d 61 74 63 68 2d 66 un.dash--match-vector-1.(match-f
151a0 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 orm.source)..."Match.MATCH-FORM.
151c0 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 against.SOURCE...MATCH-FORM.is.a
151e0 20 76 65 63 74 6f 72 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4d 41 54 43 48 2d .vector...Each.element.of.MATCH-
15200 46 4f 52 4d 20 69 73 20 65 69 74 68 65 72 20 61 0a 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 FORM.is.either.a.symbol,.which.g
15220 65 74 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 72 65 73 70 65 63 74 69 76 65 20 76 61 6c 75 ets.bound.to.the.respective.valu
15240 65 20 69 6e 20 73 6f 75 72 63 65 20 6f 72 0a 61 6e 6f 74 68 65 72 20 6d 61 74 63 68 20 66 6f 72 e.in.source.or.another.match.for
15260 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 65 73 74 72 75 63 74 75 72 65 64 20 72 65 63 75 72 73 m.which.gets.destructured.recurs
15280 69 76 65 6c 79 2e 0a 0a 49 66 20 73 65 63 6f 6e 64 2d 66 72 6f 6d 2d 6c 61 73 74 20 70 6c 61 63 ively...If.second-from-last.plac
152a0 65 20 69 6e 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 26 72 e.in.MATCH-FORM.is.the.symbol.&r
152c0 65 73 74 2c 20 74 68 65 0a 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 4d 41 54 est,.the.next.element.of.the.MAT
152e0 43 48 2d 46 4f 52 4d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 74 CH-FORM.is.matched.against.the.t
15300 61 69 6c 20 6f 66 0a 53 4f 55 52 43 45 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 6e 64 65 78 ail.of.SOURCE,.starting.at.index
15320 20 6f 66 20 74 68 65 20 26 72 65 73 74 20 73 79 6d 62 6f 6c 2e 20 20 54 68 69 73 20 69 73 0a 63 .of.the.&rest.symbol...This.is.c
15340 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 28 68 65 61 onceptually.the.same.as.the.(hea
15360 64 20 2e 20 74 61 69 6c 29 20 6d 61 74 63 68 20 66 6f 72 20 69 6d 70 72 6f 70 65 72 0a 6c 69 73 d...tail).match.for.improper.lis
15380 74 73 2c 20 77 68 65 72 65 20 64 6f 74 20 70 6c 61 79 73 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 ts,.where.dot.plays.the.role.of.
153a0 26 72 65 73 74 2e 0a 0a 53 4f 55 52 43 45 20 69 73 20 61 20 76 65 63 74 6f 72 2e 0a 0a 49 66 20 &rest...SOURCE.is.a.vector...If.
153c0 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 76 65 63 74 6f 72 20 69 73 20 73 68 6f 72 74 65 72 the.MATCH-FORM.vector.is.shorter
153e0 20 74 68 61 6e 20 53 4f 55 52 43 45 20 76 65 63 74 6f 72 2c 20 6f 6e 6c 79 0a 74 68 65 20 28 6c .than.SOURCE.vector,.only.the.(l
15400 65 6e 67 74 68 20 4d 41 54 43 48 2d 46 4f 52 4d 29 20 70 6c 61 63 65 73 20 61 72 65 20 62 6f 75 ength.MATCH-FORM).places.are.bou
15420 6e 64 2c 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 53 4f 55 52 43 45 0a 69 73 20 64 69 nd,.the.rest.of.the.SOURCE.is.di
15440 73 63 61 72 64 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 scarded."...(let.((i.0).........
15460 28 6c 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 (l.(length.match-form)).........
15480 28 72 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 29 0a 20 20 20 20 20 20 28 (re)).....(while.(<.i.l).......(
154a0 6c 65 74 20 28 28 6d 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 69 29 29 29 0a 20 20 let.((m.(aref.match-form.i)))...
154c0 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(push.(cond...............
154e0 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .((and.(symbolp.m)..............
15500 20 20 20 20 20 20 20 20 28 65 71 20 6d 20 27 26 72 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 ........(eq.m.'&rest))..........
15520 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 0a 20 20 20 20 20 .......(prog1.(dash--match......
15540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 ...................(aref.match-f
15560 6f 72 6d 20 28 31 2b 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 orm.(1+.i)).....................
15580 20 20 20 20 60 28 73 75 62 73 74 72 69 6e 67 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 0a 20 20 20 ....`(substring.,source.,i))....
155a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 6c 29 29 29 0a 20 20 20 20 ...............(setq.i.l))).....
155c0 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6d 29 0a 20 20 20 ...........((and.(symbolp.m)....
155e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 6f 20 6e 6f 74 20 6d 61 74 63 ..................;;.do.not.matc
15600 68 20 73 79 6d 62 6f 6c 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 5f 0a 20 20 20 20 20 20 h.symbols.starting.with._.......
15620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 61 72 65 66 20 28 73 ...............(not.(eq.(aref.(s
15640 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 29 20 30 29 20 3f 5f 29 29 29 0a 20 20 20 20 20 20 20 20 20 ymbol-name.m).0).?_)))..........
15660 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 6d 20 60 28 61 72 65 66 20 2c 73 6f 75 .......(list.(list.m.`(aref.,sou
15680 72 63 65 20 2c 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 rce.,i))))................((not.
156a0 28 73 79 6d 62 6f 6c 70 20 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 (symbolp.m)).................(da
156c0 73 68 2d 2d 6d 61 74 63 68 20 6d 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 29 sh--match.m.`(aref.,source.,i)))
156e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 )...............re).........(set
15700 71 20 69 20 28 31 2b 20 69 29 29 29 29 0a 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 q.i.(1+.i)))).....(-flatten-n.1.
15720 28 6e 72 65 76 65 72 73 65 20 72 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d (nreverse.re))))..(defun.dash--m
15740 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 28 70 61 atch-kv-normalize-match-form.(pa
15760 74 74 65 72 6e 29 0a 20 20 22 4e 6f 72 6d 61 6c 69 7a 65 20 6b 76 20 50 41 54 54 45 52 4e 2e 0a ttern)..."Normalize.kv.PATTERN..
15780 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 6e 6f 72 6d 61 6c 69 7a 65 73 20 50 41 54 54 45 52 4e 20 .This.method.normalizes.PATTERN.
157a0 74 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 65 78 70 65 63 74 65 64 20 62 79 0a 60 64 61 73 68 2d to.the.format.expected.by.`dash-
157c0 2d 6d 61 74 63 68 2d 6b 76 27 2e 20 20 53 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 74 68 65 20 -match-kv'...See.`-let'.for.the.
157e0 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 6f 72 6d 61 6c 69 specification."...(let.((normali
15800 7a 65 64 20 28 6c 69 73 74 20 28 63 61 72 20 70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 20 zed.(list.(car.pattern))).......
15820 20 20 28 73 6b 69 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 66 69 6c 6c 2d 70 6c 61 63 65 ..(skip.nil).........(fill-place
15840 68 6f 6c 64 65 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 2d 2d 64 61 73 68 2d 66 69 6c 6c holder.(make-symbol."--dash-fill
15860 2d 70 6c 61 63 65 68 6f 6c 64 65 72 2d 2d 22 29 29 29 0a 20 20 20 20 28 2d 65 61 63 68 20 28 2d -placeholder--"))).....(-each.(-
15880 7a 69 70 2d 66 69 6c 6c 20 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 20 28 63 64 72 20 70 zip-fill.fill-placeholder.(cdr.p
158a0 61 74 74 65 72 6e 29 20 28 63 64 64 72 20 70 61 74 74 65 72 6e 29 29 0a 20 20 20 20 20 20 28 6c attern).(cddr.pattern)).......(l
158c0 61 6d 62 64 61 20 28 70 61 69 72 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 75 72 72 ambda.(pair).........(let.((curr
158e0 65 6e 74 20 28 63 61 72 20 70 61 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e ent.(car.pair))...............(n
15900 65 78 74 20 28 63 64 72 20 70 61 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 73 ext.(cdr.pair)))...........(if.s
15920 6b 69 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 6e 69 6c kip...............(setq.skip.nil
15940 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 65 71 20 66 69 6c 6c 2d 70 ).............(if.(or.(eq.fill-p
15960 6c 61 63 65 68 6f 6c 64 65 72 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 laceholder.next)................
15980 20 20 20 20 20 28 6e 6f 74 20 28 6f 72 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6e 65 78 74 .....(not.(or.(and.(symbolp.next
159a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
159c0 20 20 20 20 28 6e 6f 74 20 28 6b 65 79 77 6f 72 64 70 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 ....(not.(keywordp.next)).......
159e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 ............................(not
15a00 20 28 65 71 20 6e 65 78 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(eq.next.t))...................
15a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6e 65 78 74 20 6e 69 ................(not.(eq.next.ni
15a40 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l)))............................
15a60 20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(and.(consp.next).............
15a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 ......................(not.(eq.(
15aa0 63 61 72 20 6e 65 78 74 29 20 27 71 75 6f 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 car.next).'quote))).............
15ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 70 20 6e 65 78 74 29 29 .................(vectorp.next))
15ae0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 )).................(progn.......
15b00 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............(cond...............
15b20 20 20 20 20 20 28 28 6b 65 79 77 6f 72 64 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 .....((keywordp.current)........
15b40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 6d 61 .............(push.current.norma
15b60 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 lized).....................(push
15b80 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 .(intern.(substring.(symbol-name
15ba0 20 63 75 72 72 65 6e 74 29 20 31 29 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 .current).1)).normalized))......
15bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 63 75 72 72 65 6e 74 29 ..............((stringp.current)
15be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 .....................(push.curre
15c00 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt.normalized)..................
15c20 20 20 20 28 70 75 73 68 20 28 69 6e 74 65 72 6e 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c ...(push.(intern.current).normal
15c40 69 7a 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 ized))....................((and.
15c60 28 63 6f 6e 73 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (consp.current).................
15c80 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 61 72 20 63 75 72 72 65 6e 74 29 20 27 71 75 6f 74 .........(eq.(car.current).'quot
15ca0 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 e)).....................(push.cu
15cc0 72 72 65 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rrent.normalized)...............
15ce0 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 64 72 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 ......(push.(cadr.current).norma
15d00 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 lized))....................(t.(e
15d20 72 72 6f 72 20 22 2d 6c 65 74 3a 20 66 6f 75 6e 64 20 6b 65 79 20 60 25 73 27 20 69 6e 20 6b 76 rror."-let:.found.key.`%s'.in.kv
15d40 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 62 75 74 20 69 74 73 20 70 61 74 74 65 72 6e 20 60 .destructuring.but.its.pattern.`
15d60 25 73 27 20 69 73 20 69 6e 76 61 6c 69 64 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 64 65 %s'.is.invalid.and.can.not.be.de
15d80 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 22 20 63 75 72 72 65 6e 74 20 6e 65 78 74 rived.from.the.key".current.next
15da0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 )))...................(setq.skip
15dc0 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 .nil))...............(push.curre
15de0 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 nt.normalized)...............(pu
15e00 73 68 20 6e 65 78 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 sh.next.normalized).............
15e20 20 20 28 73 65 74 71 20 73 6b 69 70 20 74 29 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 ..(setq.skip.t)))))).....(nrever
15e40 73 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d se.normalized)))..(defun.dash--m
15e60 61 74 63 68 2d 6b 76 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 atch-kv.(match-form.source)..."S
15e80 65 74 75 70 20 61 20 6b 76 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 etup.a.kv.matching.environment.a
15ea0 6e 64 20 63 61 6c 6c 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 0a 0a 6b 76 20 63 61 nd.call.the.real.matcher...kv.ca
15ec0 6e 20 62 65 20 61 6e 79 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 73 75 63 68 20 61 n.be.any.key-value.store,.such.a
15ee0 73 20 70 6c 69 73 74 2c 20 61 6c 69 73 74 20 6f 72 20 68 61 73 68 2d 74 61 62 6c 65 2e 22 0a 20 s.plist,.alist.or.hash-table."..
15f00 20 28 6c 65 74 20 28 28 73 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 .(let.((s.(dash--match-make-sour
15f20 63 65 2d 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 64 ce-symbol))).....(cond......;;.d
15f40 6f 6e 27 74 20 62 69 6e 64 20 60 73 27 20 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e on't.bind.`s'.if.we.only.have.on
15f60 65 20 73 75 62 2d 70 61 74 74 65 72 6e 20 28 26 74 79 70 65 20 6b 65 79 20 76 61 6c 29 0a 20 20 e.sub-pattern.(&type.key.val)...
15f80 20 20 20 28 28 3d 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 33 29 0a 20 20 ...((=.(length.match-form).3)...
15fa0 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 ....(dash--match-kv-1.(cdr.match
15fc0 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 -form).source.(car.match-form)))
15fe0 0a 20 20 20 20 20 3b 3b 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 20 69 73 20 61 20 73 79 6d 62 ......;;.if.the.source.is.a.symb
16000 6f 6c 2c 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 72 65 2d 62 69 6e 64 20 69 74 0a ol,.we.don't.need.to.re-bind.it.
16020 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 28 64 61 .....((symbolp.source).......(da
16040 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 sh--match-kv-1.(cdr.match-form).
16060 73 6f 75 72 63 65 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 28 source.(car.match-form)))......(
16080 74 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 20 28 64 t.......(cons.(list.s.source).(d
160a0 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 ash--match-kv-1.(cdr.match-form)
160c0 20 73 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 .s.(car.match-form)))))))..(defu
160e0 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 68 61 73 68 20 28 6b 65 79 20 73 6f 75 72 63 65 29 n.dash-expand:&hash.(key.source)
16100 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d ..."Generate.extracting.KEY.from
16120 20 53 4f 55 52 43 45 20 66 6f 72 20 26 68 61 73 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e .SOURCE.for.&hash.destructuring.
16140 22 0a 20 20 60 28 67 65 74 68 61 73 68 20 2c 6b 65 79 20 2c 73 6f 75 72 63 65 29 29 0a 0a 28 64 "...`(gethash.,key.,source))..(d
16160 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 70 6c 69 73 74 20 28 6b 65 79 20 73 6f 75 efun.dash-expand:&plist.(key.sou
16180 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 rce)..."Generate.extracting.KEY.
161a0 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 70 6c 69 73 74 20 64 65 73 74 72 75 63 74 75 from.SOURCE.for.&plist.destructu
161c0 72 69 6e 67 2e 22 0a 20 20 60 28 70 6c 69 73 74 2d 67 65 74 20 2c 73 6f 75 72 63 65 20 2c 6b 65 ring."...`(plist-get.,source.,ke
161e0 79 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 61 6c 69 73 74 20 28 y))..(defun.dash-expand:&alist.(
16200 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 key.source)..."Generate.extracti
16220 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 61 6c 69 73 74 20 64 65 ng.KEY.from.SOURCE.for.&alist.de
16240 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 60 28 63 64 72 20 28 61 73 73 6f 63 20 2c 6b 65 structuring."...`(cdr.(assoc.,ke
16260 79 20 2c 73 6f 75 72 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 y.,source)))..(defun.dash-expand
16280 3a 26 68 61 73 68 3f 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 :&hash?.(key.source)..."Generate
162a0 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 .extracting.KEY.from.SOURCE.for.
162c0 26 68 61 73 68 3f 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 53 69 6d 69 6c 61 72 20 74 6f &hash?.destructuring..Similar.to
162e0 20 26 68 61 73 68 20 62 75 74 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 61 70 .&hash.but.check.whether.the.map
16300 20 69 73 20 6e 6f 74 20 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 72 63 20 28 6d 61 6b 65 .is.not.nil."...(let.((src.(make
16320 2d 73 79 6d 62 6f 6c 20 22 73 72 63 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 73 72 -symbol."src"))).....`(let.((,sr
16340 63 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 73 72 63 20 28 67 c.,source))........(when.,src.(g
16360 65 74 68 61 73 68 20 2c 6b 65 79 20 2c 73 72 63 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 ethash.,key.,src)))))..(defalias
16380 20 27 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 6b 65 79 73 20 23 27 64 61 73 68 2d 65 78 70 61 6e .'dash-expand:&keys.#'dash-expan
163a0 64 3a 26 70 6c 69 73 74 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 d:&plist)..(defun.dash--match-kv
163c0 2d 31 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 20 74 79 70 65 29 0a 20 20 22 4d -1.(match-form.source.type)..."M
163e0 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 20 6f atch.MATCH-FORM.against.SOURCE.o
16400 66 20 74 79 70 65 20 54 59 50 45 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 70 72 f.type.TYPE...MATCH-FORM.is.a.pr
16420 6f 70 65 72 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 6b 65 79 31 20 70 6c 61 63 oper.list.of.the.form.(key1.plac
16440 65 31 20 2e 2e 2e 20 6b 65 79 4e 0a 70 6c 61 63 65 4e 29 2e 20 20 45 61 63 68 20 70 6c 61 63 65 e1.....keyN.placeN)...Each.place
16460 4b 20 69 73 20 65 69 74 68 65 72 20 61 20 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 65 74 73 K.is.either.a.symbol,.which.gets
16480 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 0a 76 61 6c 75 65 20 6f 66 20 6b 65 79 4b 20 72 65 74 72 .bound.to.the.value.of.keyK.retr
164a0 69 65 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 ieved.from.the.key-value.store,.
164c0 6f 72 20 61 6e 6f 74 68 65 72 0a 6d 61 74 63 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 or.another.match.form.which.gets
164e0 20 64 65 73 74 72 75 63 74 75 72 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 53 4f 55 52 .destructured.recursively...SOUR
16500 43 45 20 69 73 20 61 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 20 6f 66 20 74 79 70 65 20 CE.is.a.key-value.store.of.type.
16520 54 59 50 45 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 61 20 70 6c 69 73 74 2c 0a 61 6e 20 61 TYPE,.which.can.be.a.plist,.an.a
16540 6c 69 73 74 20 6f 72 20 61 20 68 61 73 68 20 74 61 62 6c 65 2e 0a 0a 54 59 50 45 20 69 73 20 61 list.or.a.hash.table...TYPE.is.a
16560 20 74 6f 6b 65 6e 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 .token.specifying.the.type.of.th
16580 65 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2e 0a 56 61 6c 69 64 20 76 61 6c 75 65 73 20 e.key-value.store..Valid.values.
165a0 61 72 65 20 26 70 6c 69 73 74 2c 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 22 0a 20 are.&plist,.&alist.and.&hash."..
165c0 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 .(-flatten-n.1.(-map............
165e0 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6b 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(lambda.(kv)..............
16600 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6b 20 28 63 61 72 20 6b 76 29 29 0a 20 20 20 20 20 20 ......(let*.((k.(car.kv)).......
16620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 20 28 63 61 64 72 20 6b 76 29 ....................(v.(cadr.kv)
16640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 )...........................(get
16660 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ter............................(
16680 66 75 6e 63 61 6c 6c 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 funcall.(dash--get-expand-functi
166a0 6f 6e 20 74 79 70 65 29 20 6b 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 on.type).k.source)))............
166c0 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........(cond.................
166e0 20 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......((symbolp.v)..............
16700 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 76 20 67 65 74 74 65 72 29 29 ..........(list.(list.v.getter))
16720 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 64 61 73 68 ).......................(t.(dash
16740 2d 2d 6d 61 74 63 68 20 76 20 67 65 74 74 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 --match.v.getter)))))...........
16760 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 6d 61 74 63 68 2d 66 6f 72 6d 29 .......(-partition.2.match-form)
16780 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 28 )))..(defun.dash--match-symbol.(
167a0 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 42 69 6e 64 20 61 20 73 79 6d match-form.source)..."Bind.a.sym
167c0 62 6f 6c 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 60 6c 65 74 27 bol...This.works.just.like.`let'
167e0 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 ,.there.is.no.destructuring."...
16800 28 6c 69 73 74 20 28 6c 69 73 74 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 (list.(list.match-form.source)))
16820 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 6d 61 74 63 68 2d 66 6f 72 6d ..(defun.dash--match.(match-form
16840 20 73 6f 75 72 63 65 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 .source)..."Match.MATCH-FORM.aga
16860 69 6e 73 74 20 53 4f 55 52 43 45 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 inst.SOURCE...This.function.test
16880 73 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 20 64 69 73 70 61 74 63 68 65 73 20 s.the.MATCH-FORM.and.dispatches.
168a0 74 6f 20 73 70 65 63 69 66 69 63 0a 6d 61 74 63 68 65 72 73 20 62 61 73 65 64 20 6f 6e 20 74 68 to.specific.matchers.based.on.th
168c0 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 4b 65 79 2d 76 e.type.of.the.expression...Key-v
168e0 61 6c 75 65 20 73 74 6f 72 65 73 20 61 72 65 20 64 69 73 61 6d 62 69 67 75 61 74 65 64 20 62 79 alue.stores.are.disambiguated.by
16900 20 70 6c 61 63 69 6e 67 20 61 20 74 6f 6b 65 6e 20 26 70 6c 69 73 74 2c 0a 26 61 6c 69 73 74 20 .placing.a.token.&plist,.&alist.
16920 6f 72 20 26 68 61 73 68 20 61 73 20 61 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 or.&hash.as.a.first.item.in.the.
16940 4d 41 54 43 48 2d 46 4f 52 4d 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 61 6e 64 20 28 73 MATCH-FORM."...(cond....((and.(s
16960 79 6d 62 6f 6c 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 44 ymbolp.match-form)..........;;.D
16980 6f 6e 27 74 20 62 69 6e 64 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 26 6b 65 79 73 20 61 73 20 69 on't.bind.things.like.&keys.as.i
169a0 66 20 74 68 65 79 20 77 65 72 65 20 76 61 72 73 20 28 23 33 39 35 29 2e 0a 20 20 20 20 20 20 20 f.they.were.vars.(#395).........
169c0 20 20 28 6e 6f 74 20 28 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 ..(not.(functionp.(dash--get-exp
169e0 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 20 20 20 20 and-function.match-form)))).....
16a00 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 (dash--match-symbol.match-form.s
16a20 6f 75 72 63 65 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 ource))....((consp.match-form)..
16a40 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 48 61 6e 64 6c 65 20 74 68 65 20 22 78 20 26 ...(cond......;;.Handle.the."x.&
16a60 61 73 22 20 62 69 6e 64 69 6e 67 73 20 66 69 72 73 74 2e 0a 20 20 20 20 20 28 28 61 6e 64 20 28 as".bindings.first.......((and.(
16a80 63 6f 6e 73 70 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 consp.(cdr.match-form)).........
16aa0 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 ...(symbolp.(car.match-form))...
16ac0 20 20 20 20 20 20 20 20 20 28 65 71 20 27 26 61 73 20 28 63 61 64 72 20 6d 61 74 63 68 2d 66 6f .........(eq.'&as.(cadr.match-fo
16ae0 72 6d 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 28 63 61 72 20 6d 61 74 63 68 2d rm))).......(let.((s.(car.match-
16b00 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f form))).........(cons.(list.s.so
16b20 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 urce)...............(dash--match
16b40 20 28 63 64 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 29 29 29 29 0a 20 20 20 20 20 28 28 .(cddr.match-form).s))))......((
16b60 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 functionp.(dash--get-expand-func
16b80 74 69 6f 6e 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 28 64 tion.(car.match-form))).......(d
16ba0 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 6e 6f ash--match-kv.(dash--match-kv-no
16bc0 72 6d 61 6c 69 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 rmalize-match-form.match-form).s
16be0 6f 75 72 63 65 29 29 0a 20 20 20 20 20 28 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e ource))......(t.(dash--match-con
16c00 73 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 29 0a 20 20 20 28 28 76 65 63 s.match-form.source))))....((vec
16c20 74 6f 72 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 3b 3b 20 57 65 20 73 75 70 70 6f torp.match-form).....;;.We.suppo
16c40 72 74 20 74 68 65 20 26 61 73 20 62 69 6e 64 69 6e 67 20 69 6e 20 76 65 63 74 6f 72 73 20 74 6f rt.the.&as.binding.in.vectors.to
16c60 6f 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e 64 20 28 3e 20 28 6c 65 6e 67 74 o.....(cond......((and.(>.(lengt
16c80 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d h.match-form).2)............(sym
16ca0 62 6f 6c 70 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 30 29 29 0a 20 20 20 20 20 20 bolp.(aref.match-form.0)).......
16cc0 20 20 20 20 20 28 65 71 20 27 26 61 73 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 31 .....(eq.'&as.(aref.match-form.1
16ce0 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 ))).......(let.((s.(aref.match-f
16d00 6f 72 6d 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 orm.0))).........(cons.(list.s.s
16d20 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 ource)...............(dash--matc
16d40 68 20 28 73 75 62 73 74 72 69 6e 67 20 6d 61 74 63 68 2d 66 6f 72 6d 20 32 29 20 73 29 29 29 29 h.(substring.match-form.2).s))))
16d60 0a 20 20 20 20 20 28 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 20 6d 61 74 ......(t.(dash--match-vector.mat
16d80 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 ch-form.source))))))..(defun.das
16da0 68 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6c 65 74 2d 76 61 72 6c 69 73 74 20 28 76 61 72 6c 69 73 h--normalize-let-varlist.(varlis
16dc0 74 29 0a 20 20 22 4e 6f 72 6d 61 6c 69 7a 65 20 56 41 52 4c 49 53 54 20 73 6f 20 74 68 61 74 20 t)..."Normalize.VARLIST.so.that.
16de0 65 76 65 72 79 20 62 69 6e 64 69 6e 67 20 69 73 20 61 20 6c 69 73 74 2e 0a 0a 60 6c 65 74 27 20 every.binding.is.a.list...`let'.
16e00 61 6c 6c 6f 77 73 20 73 70 65 63 69 66 79 69 6e 67 20 61 20 62 69 6e 64 69 6e 67 20 77 68 69 63 allows.specifying.a.binding.whic
16e20 68 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 20 62 75 74 20 73 69 6d 70 6c 79 0a 74 68 65 20 70 h.is.not.a.list.but.simply.the.p
16e40 6c 61 63 65 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 lace.which.is.then.automatically
16e60 20 62 6f 75 6e 64 20 74 6f 20 6e 69 6c 2c 20 73 75 63 68 20 74 68 61 74 20 61 6c 6c 0a 74 68 72 .bound.to.nil,.such.that.all.thr
16e80 65 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 65 20 69 64 65 6e 74 69 63 61 ee.of.the.following.are.identica
16ea0 6c 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 74 6f 20 6e 69 6c 2e 0a 0a 20 20 28 6c 65 74 20 28 l.and.evaluate.to.nil.....(let.(
16ec0 61 29 20 61 29 0a 20 20 28 6c 65 74 20 28 28 61 29 29 20 61 29 0a 20 20 28 6c 65 74 20 28 28 61 a).a)...(let.((a)).a)...(let.((a
16ee0 20 6e 69 6c 29 29 20 61 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 .nil)).a)..This.function.normali
16f00 7a 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 74 6f 20 74 68 65 20 6c 61 73 74 20 66 6f 72 zes.all.of.these.to.the.last.for
16f20 6d 2e 22 0a 20 20 28 2d 2d 6d 61 70 20 28 69 66 20 28 63 6f 6e 73 70 20 69 74 29 20 69 74 20 28 m."...(--map.(if.(consp.it).it.(
16f40 6c 69 73 74 20 69 74 20 6e 69 6c 29 29 20 76 61 72 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 list.it.nil)).varlist))..(defmac
16f60 72 6f 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 ro.-let*.(varlist.&rest.body)...
16f80 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 "Bind.variables.according.to.VAR
16fa0 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 59 2e 0a 0a 56 41 52 4c 49 53 54 20 69 73 LIST.then.eval.BODY...VARLIST.is
16fc0 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 .a.list.of.lists.of.the.form.(PA
16fe0 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 63 68 0a 50 41 54 54 45 52 4e 20 69 73 20 TTERN.SOURCE)...Each.PATTERN.is.
17000 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 73 74 72 75 63 matched.against.the.SOURCE.struc
17020 74 75 72 61 6c 6c 79 2e 20 20 53 4f 55 52 43 45 20 69 73 0a 6f 6e 6c 79 20 65 76 61 6c 75 61 74 turally...SOURCE.is.only.evaluat
17040 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e 0a 0a 45 61 63 68 20 ed.once.for.each.PATTERN...Each.
17060 53 4f 55 52 43 45 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 SOURCE.can.refer.to.the.symbols.
17080 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 0a 56 41 52 4c 49 53 54 2e 20 20 already.bound.by.this.VARLIST...
170a0 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 This.is.useful.if.you.want.to.de
170c0 73 74 72 75 63 74 75 72 65 20 53 4f 55 52 43 45 0a 72 65 63 75 72 73 69 76 65 6c 79 20 62 75 74 structure.SOURCE.recursively.but
170e0 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 .also.want.to.name.the.intermedi
17100 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 53 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 ate.structures...See.`-let'.for.
17120 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 70 61 74 74 65 72 6e the.list.of.all.possible.pattern
17140 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 26 72 65 73 74 20 5b 26 s."...(declare.(debug.((&rest.[&
17160 6f 72 20 28 73 65 78 70 20 66 6f 72 6d 29 20 73 65 78 70 5d 29 20 62 6f 64 79 29 29 0a 20 20 20 or.(sexp.form).sexp]).body))....
17180 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 76 61 ........(indent.1))...(let*.((va
171a0 72 6c 69 73 74 20 28 64 61 73 68 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6c 65 74 2d 76 61 72 6c 69 rlist.(dash--normalize-let-varli
171c0 73 74 20 76 61 72 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 69 6e 64 69 6e 67 73 20 st.varlist))..........(bindings.
171e0 28 2d 2d 6d 61 70 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 69 74 29 20 (--mapcat.(dash--match.(car.it).
17200 28 63 61 64 72 20 69 74 29 29 20 76 61 72 6c 69 73 74 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a (cadr.it)).varlist))).....`(let*
17220 20 2c 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 .,bindings........,@body)))..(de
17240 66 6d 61 63 72 6f 20 2d 6c 65 74 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 fmacro.-let.(varlist.&rest.body)
17260 0a 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 ..."Bind.variables.according.to.
17280 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 59 2e 0a 0a 56 41 52 4c 49 53 54 VARLIST.then.eval.BODY...VARLIST
172a0 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 .is.a.list.of.lists.of.the.form.
172c0 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 63 68 0a 50 41 54 54 45 52 4e 20 (PATTERN.SOURCE)...Each.PATTERN.
172e0 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 5c 22 is.matched.against.the.SOURCE.\"
17300 73 74 72 75 63 74 75 72 61 6c 6c 79 5c 22 2e 20 20 53 4f 55 52 43 45 0a 69 73 20 6f 6e 6c 79 20 structurally\"...SOURCE.is.only.
17320 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e evaluated.once.for.each.PATTERN.
17340 20 20 45 61 63 68 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 0a 72 65 63 75 72 73 ..Each.PATTERN.is.matched.recurs
17360 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e ively,.and.can.therefore.contain
17380 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 20 61 72 65 0a 6d 61 74 63 68 65 64 20 .sub-patterns.which.are.matched.
173a0 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 73 against.corresponding.sub-expres
173c0 73 69 6f 6e 73 20 6f 66 20 53 4f 55 52 43 45 2e 0a 0a 41 6c 6c 20 74 68 65 20 53 4f 55 52 43 45 sions.of.SOURCE...All.the.SOURCE
173e0 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 73 79 6d 62 6f 6c 73 s.are.evalled.before.any.symbols
17400 20 61 72 65 0a 62 6f 75 6e 64 20 28 69 2e 65 2e 20 5c 22 69 6e 20 70 61 72 61 6c 6c 65 6c 5c 22 .are.bound.(i.e..\"in.parallel\"
17420 29 2e 0a 0a 49 66 20 56 41 52 4c 49 53 54 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 )...If.VARLIST.only.contains.one
17440 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 .(PATTERN.SOURCE).element,.you.c
17460 61 6e 0a 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 an.optionally.specify.it.using.a
17480 20 76 65 63 74 6f 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 .vector.and.discarding.the.outer
174a0 2d 6d 6f 73 74 20 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 28 2d 6c 65 74 20 28 28 50 -most.parens...Thus....(-let.((P
174c0 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 29 20 2e 2e 2e 29 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 ATTERN.SOURCE))....)..becomes...
174e0 20 28 2d 6c 65 74 20 5b 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 5d 20 2e 2e 2e 29 2e 0a 0a 60 .(-let.[PATTERN.SOURCE]....)...`
17500 2d 6c 65 74 27 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 62 -let'.uses.a.convention.of.not.b
17520 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e 67 inding.places.(symbols).starting
17540 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 27 73 20 70 6f 73 73 69 62 6c 65 2e 20 .with._.whenever.it's.possible..
17560 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 0a 65 .You.can.use.this.to.skip.over.e
17580 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 6f ntries.you.don't.care.about...Ho
175a0 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 2a 61 6c 77 61 79 73 2a 0a 70 6f 73 73 wever,.this.is.not.*always*.poss
175c0 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 ible.(as.a.result.of.implementat
175e0 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 6d 69 67 68 74 0a 67 65 74 ion).and.these.symbols.might.get
17600 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 46 6f 6c .bound.to.undefined.values...Fol
17620 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f 72 lowing.is.the.overview.of.suppor
17640 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 70 61 74 ted.patterns...Remember.that.pat
17660 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 terns.can.be.matched.recursively
17680 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f ,.so.every.a,.b,.aK.in.the.follo
176a0 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 wing.can.be.a.matching.construct
176c0 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 0a 73 79 6d 62 6f 6c 2f 76 61 .and.not.necessarily.a.symbol/va
176e0 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a 0a 0a 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 riable...Symbol:....a.-.bind.the
17700 20 53 4f 55 52 43 45 20 74 6f 20 41 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 .SOURCE.to.A...This.is.just.like
17720 20 72 65 67 75 6c 61 72 20 60 6c 65 74 27 2e 0a 0a 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 73 74 .regular.`let'...Conses.and.list
17740 73 3a 0a 0a 20 20 28 61 29 20 2d 20 62 69 6e 64 20 60 63 61 72 27 20 6f 66 20 63 6f 6e 73 2f 6c s:....(a).-.bind.`car'.of.cons/l
17760 69 73 74 20 74 6f 20 41 0a 0a 20 20 28 61 20 2e 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f ist.to.A....(a...b).-.bind.car.o
17780 66 20 63 6f 6e 73 20 74 6f 20 41 20 61 6e 64 20 60 63 64 72 27 20 74 6f 20 42 0a 0a 20 20 28 61 f.cons.to.A.and.`cdr'.to.B....(a
177a0 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 41 20 61 6e 64 20 .b).-.bind.car.of.list.to.A.and.
177c0 60 63 61 64 72 27 20 74 6f 20 42 0a 0a 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 `cadr'.to.B....(a1.a2.a3....).-.
177e0 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 41 31 2c 20 31 73 74 20 bind.0th.car.of.list.to.A1,.1st.
17800 74 6f 20 41 32 2c 20 32 6e 64 20 74 6f 20 41 33 2e 2e 2e 0a 0a 20 20 28 61 31 20 61 32 20 61 33 to.A2,.2nd.to.A3.......(a1.a2.a3
17820 20 2e 2e 2e 20 61 4e 20 2e 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 .....aN...rest).-.as.above,.but.
17840 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 72 20 74 6f 20 52 45 53 54 2e 0a 0a 56 65 63 74 6f bind.the.Nth.cdr.to.REST...Vecto
17860 72 73 3a 0a 0a 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 rs:....[a].-.bind.0th.element.of
17880 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 41 20 28 77 6f 72 6b 73 .a.non-list.sequence.to.A.(works
178a0 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 .with.........vectors,.strings,.
178c0 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a 0a 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 5d bit.arrays...)....[a1.a2.a3....]
178e0 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 73 74 20 .-.bind.0th.element.of.non-list.
17900 73 65 71 75 65 6e 63 65 20 74 6f 20 41 30 2c 20 31 73 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 sequence.to.A0,.1st.to..........
17920 20 20 20 20 20 20 20 20 20 20 41 31 2c 20 32 6e 64 20 74 6f 20 41 32 2c 20 2e 2e 2e 0a 20 20 20 ..........A1,.2nd.to.A2,........
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 69 ................If.the.PATTERN.i
17960 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 2c 20 74 68 65 20 76 61 6c 75 65 s.shorter.than.SOURCE,.the.value
17980 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 6e s.at....................places.n
179a0 6f 74 20 69 6e 20 50 41 54 54 45 52 4e 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 ot.in.PATTERN.are.ignored.......
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 69 73 20 ..............If.the.PATTERN.is.
179e0 6c 6f 6e 67 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 2c 20 61 6e 20 60 65 72 72 6f 72 27 20 69 longer.than.SOURCE,.an.`error'.i
17a00 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 6e 2e 0a 0a 20 20 s....................thrown.....
17a20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d 20 61 73 20 61 [a1.a2.a3.....&rest.rest].-.as.a
17a40 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 0a 20 20 20 20 20 bove,.but.bind.the.rest.of......
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 73 65 71 .........................the.seq
17a80 75 65 6e 63 65 20 74 6f 20 52 45 53 54 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 20 20 uence.to.REST...This.is.........
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 63 65 70 74 75 61 6c ......................conceptual
17ac0 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 0a 20 20 20 ly.the.same.as.improper.list....
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 ...........................match
17b00 69 6e 67 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 2e 20 72 65 73 74 29 0a 0a 4b 65 79 2f 76 ing.(a1.a2.....aN...rest)..Key/v
17b20 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 20 28 26 70 6c 69 73 74 20 6b 65 79 30 20 61 30 20 alue.stores:....(&plist.key0.a0.
17b40 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 ....keyN.aN).-.bind.value.mapped
17b60 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .by.keyK.in.the.................
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 4f 55 52 43 45 20 70 6c 69 73 74 20 74 6f .................SOURCE.plist.to
17ba0 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .aK...If.the....................
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 ..............value.is.not.found
17be0 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.aK.is.nil.....................
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 70 6c 69 73 74 2d 67 65 74 27 20 74 ..............Uses.`plist-get'.t
17c20 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 o.fetch.values.....(&alist.key0.
17c40 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 a0.....keyN.aN).-.bind.value.map
17c60 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ped.by.keyK.in.the..............
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 4f 55 52 43 45 20 61 6c 69 73 74 ....................SOURCE.alist
17ca0 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .to.aK...If.the.................
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f .................value.is.not.fo
17ce0 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 und,.aK.is.nil..................
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 61 73 73 6f 63 27 20 74 6f .................Uses.`assoc'.to
17d20 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 .fetch.values.....(&hash.key0.a0
17d40 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 .....keyN.aN).-.bind.value.mappe
17d60 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.by.keyK.in.the................
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 4f 55 52 43 45 20 68 61 73 68 20 74 61 62 .................SOURCE.hash.tab
17da0 6c 65 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le.to.aK...If.the...............
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 ..................value.is.not.f
17de0 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ound,.aK.is.nil.................
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 67 65 74 68 61 73 68 27 20 .................Uses.`gethash'.
17e20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 to.fetch.values...Further,.speci
17e40 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 70 6f 72 74 73 20 5c 22 69 6e 6c 69 al.keyword.&keys.supports.\"inli
17e60 6e 65 5c 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 70 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d ne\".matching.of.plist-like.key-
17e80 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 value.pairs,.similarly.to.&keys.
17ea0 6b 65 79 77 6f 72 64 20 6f 66 0a 60 63 6c 2d 64 65 66 75 6e 27 2e 0a 0a 20 20 28 61 31 20 61 32 keyword.of.`cl-defun'.....(a1.a2
17ec0 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 .....aN.&keys.key1.b1.....keyN.b
17ee0 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 4e 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 K)..This.binds.N.values.from.the
17f00 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 .list.to.a1.....aN,.then.interpr
17f20 65 74 73 0a 74 68 65 20 63 64 72 20 61 73 20 61 20 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f ets.the.cdr.as.a.plist.(see.key/
17f40 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f 76 65 29 2e 0a 0a 41 20 73 68 6f 72 74 68 value.matching.above)...A.shorth
17f60 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 72 69 6e and.notation.for.kv-destructurin
17f80 67 20 65 78 69 73 74 73 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 70 61 74 74 65 72 g.exists.which.allows.the.patter
17fa0 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 ns.be.optionally.left.out.and.de
17fc0 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 74 68 65 20 66 rived.from.the.key.name.in.the.f
17fe0 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 68 69 6f 6e 3a 0a 0a 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 ollowing.fashion:..-.a.key.:foo.
18000 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 66 6f 6f 27 20 70 61 74 74 65 72 6e 2c is.converted.into.`foo'.pattern,
18020 0a 2d 20 61 20 6b 65 79 20 5c 5c 3d 27 62 61 72 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e .-.a.key.\\='bar.is.converted.in
18040 74 6f 20 60 62 61 72 27 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 5c 22 62 61 7a 5c to.`bar'.pattern,.-.a.key.\"baz\
18060 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 7a 27 20 70 61 74 74 65 72 ".is.converted.into.`baz'.patter
18080 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e n...That.is,.the.entire.value.un
180a0 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 der.the.key.is.bound.to.the.deri
180c0 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 ved.variable.without.any.further
180e0 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c .destructuring...This.is.possibl
18100 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 e.only.when.the.form.following.t
18120 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 he.key.is.not.a.valid.pattern.(i
18140 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 .e..not.a.symbol,.a.cons.cell.or
18160 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 .a.vector)..Otherwise.the.matchi
18180 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 ng.proceeds.as.usual.and.in.case
181a0 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 .of.an.invalid.spec.fails.with.a
181c0 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 n.error...Thus.the.patterns.are.
181e0 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 3b 3b 20 64 65 normalized.as.follows:.....;;.de
18200 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 rive.all.the.missing.patterns...
18220 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 5c 5c 3d 27 62 61 72 20 5c 22 62 61 7a 5c 22 29 20 3d .(&plist.:foo.\\='bar.\"baz\").=
18240 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 5c 5c 3d 27 62 61 72 20 62 61 72 20 5c >.(&plist.:foo.foo.\\='bar.bar.\
18260 22 62 61 7a 5c 22 20 62 61 7a 29 0a 0a 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 69 66 "baz\".baz).....;;.we.can.specif
18280 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c 69 73 74 y.some.but.not.others....(&plist
182a0 20 3a 66 6f 6f 20 5c 5c 3d 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 .:foo.\\='bar.explicit-bar).=>.(
182c0 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 5c 5c 3d 27 62 61 72 20 65 78 70 6c 69 63 69 74 &plist.:foo.foo.\\='bar.explicit
182e0 2d 62 61 72 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 -bar).....;;.nothing.happens,.we
18300 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f .store.:foo.in.x....(&plist.:foo
18320 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 3b 3b 20 6e 6f .x).=>.(&plist.:foo.x).....;;.no
18340 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 thing.happens,.we.match.recursiv
18360 65 6c 79 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 ely....(&plist.:foo.(a.b.c)).=>.
18380 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e (&plist.:foo.(a.b.c))..You.can.n
183a0 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 ame.the.source.using.the.syntax.
183c0 53 59 4d 42 4f 4c 20 26 61 73 20 50 41 54 54 45 52 4e 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 SYMBOL.&as.PATTERN..This.syntax.
183e0 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 works.with.lists.(proper.or.impr
18400 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 oper),.vectors.and.all.types.of.
18420 6d 61 70 73 2e 0a 0a 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 maps.....(list.&as.a.b.c).(list.
18440 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 41 20 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 1.2.3)..binds.A.to.1,.B.to.2,.C.
18460 74 6f 20 33 20 61 6e 64 20 4c 49 53 54 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c to.3.and.LIST.to.(1.2.3)...Simil
18480 61 72 6c 79 3a 0a 0a 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 arly:....(bounds.&as.beg...end).
184a0 28 63 6f 6e 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e 44 20 (cons.1.2)..binds.BEG.to.1,.END.
184c0 74 6f 20 32 20 61 6e 64 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a 0a 20 20 28 to.2.and.BOUNDS.to.(1...2).....(
184e0 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c 69 73 74 20 31 20 items.&as.first...rest).(list.1.
18500 32 20 33 29 0a 0a 62 69 6e 64 73 20 46 49 52 53 54 20 74 6f 20 31 2c 20 52 45 53 54 20 74 6f 20 2.3)..binds.FIRST.to.1,.REST.to.
18520 28 32 20 33 29 20 61 6e 64 20 49 54 45 4d 53 20 74 6f 20 28 31 20 32 20 33 29 0a 0a 20 20 5b 76 (2.3).and.ITEMS.to.(1.2.3)....[v
18540 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 42 20 ect.&as._.b.c].[1.2.3]..binds.B.
18560 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d to.2,.C.to.3.and.VECT.to.[1.2.3]
18580 20 28 5f 20 61 76 6f 69 64 73 20 62 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 .(_.avoids.binding.as.usual)....
185a0 20 28 70 6c 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a .(plist.&as.&plist.:b.b).(list.:
185c0 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e 64 a.1.:b.2.:c.3)..binds.B.to.2.and
185e0 20 50 4c 49 53 54 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d .PLIST.to.(:a.1.:b.2.:c.3)...Sam
18600 65 20 66 6f 72 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 e.for.&alist.and.&hash...This.is
18620 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 .especially.useful.when.we.want.
18640 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 to.capture.the.result.of.a.compu
18660 74 61 74 69 6f 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 tation.and.destructure.at.the.sa
18680 6d 65 20 74 69 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e me.time...Consider.the.form.(fun
186a0 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 ction-returning-complex-structur
186c0 65 29 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f e).returning.a.list.of.two.vecto
186e0 72 73 20 77 69 74 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 rs.with.two.items.each...We.want
18700 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 .to.capture.this.entire.result.a
18720 6e 64 20 70 61 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f nd.pass.it.to.another.computatio
18740 6e 2c 20 62 75 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 n,.but.at.the.same.time.we.want.
18760 74 6f 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 to.get.the.second.item.from.each
18780 20 76 65 63 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 .vector...We.can.achieve.it.with
187a0 20 70 61 74 74 65 72 6e 0a 0a 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f .pattern....(result.&as.[_.a].[_
187c0 20 62 5d 29 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 .b]).(function-returning-complex
187e0 2d 73 74 72 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 -structure)..Note:.Clojure.progr
18800 61 6d 6d 65 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 ammers.may.know.this.feature.as.
18820 74 68 65 20 5c 22 3a 61 73 0a 62 69 6e 64 69 6e 67 5c 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 the.\":as.binding\"...The.differ
18840 65 6e 63 65 20 69 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 ence.is.that.we.put.the.&as.at.t
18860 68 65 20 66 72 6f 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 he.front.because.we.need.to.supp
18880 6f 72 74 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 22 0a 20 20 28 64 ort.improper.list.binding."...(d
188a0 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 5b 26 6f 72 20 28 26 72 65 73 74 20 5b 26 6f 72 20 eclare.(debug.([&or.(&rest.[&or.
188c0 28 73 65 78 70 20 66 6f 72 6d 29 20 73 65 78 70 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (sexp.form).sexp])..............
188e0 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 5b 26 72 65 73 74 20 5b 73 65 78 70 20 ...........(vector.[&rest.[sexp.
18900 66 6f 72 6d 5d 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 form]])]....................body
18920 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 ))............(indent.1))...(if.
18940 28 76 65 63 74 6f 72 70 20 76 61 72 6c 69 73 74 29 0a 20 20 20 20 20 20 60 28 6c 65 74 2a 20 2c (vectorp.varlist).......`(let*.,
18960 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 76 61 72 6c 69 73 74 20 30 29 20 28 61 (dash--match.(aref.varlist.0).(a
18980 72 65 66 20 76 61 72 6c 69 73 74 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 ref.varlist.1))..........,@body)
189a0 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 76 61 72 6c 69 73 74 20 28 64 61 73 68 2d 2d 6e 6f 72 6d .....(let*.((varlist.(dash--norm
189c0 61 6c 69 7a 65 2d 6c 65 74 2d 76 61 72 6c 69 73 74 20 76 61 72 6c 69 73 74 29 29 0a 20 20 20 20 alize-let-varlist.varlist)).....
189e0 20 20 20 20 20 20 20 28 69 6e 70 75 74 73 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c .......(inputs.(--map-indexed.(l
18a00 69 73 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 69 6e 70 75 74 25 ist.(make-symbol.(format."input%
18a20 64 22 20 69 74 2d 69 6e 64 65 78 29 29 20 28 63 61 64 72 20 69 74 29 29 20 76 61 72 6c 69 73 74 d".it-index)).(cadr.it)).varlist
18a40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 76 61 72 6c 69 73 74 20 28 2d 2d 7a 69 ))............(new-varlist.(--zi
18a60 70 2d 77 69 74 68 20 28 6c 69 73 74 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 p-with.(list.(car.it).(car.other
18a80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
18aa0 20 20 20 20 20 20 20 76 61 72 6c 69 73 74 20 69 6e 70 75 74 73 29 29 29 0a 20 20 20 20 20 20 60 .......varlist.inputs))).......`
18ac0 28 6c 65 74 20 2c 69 6e 70 75 74 73 0a 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 2c 6e 65 (let.,inputs..........(-let*.,ne
18ae0 77 2d 76 61 72 6c 69 73 74 20 2c 40 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f w-varlist.,@body)))))..(defmacro
18b00 20 2d 6c 61 6d 62 64 61 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 .-lambda.(match-form.&rest.body)
18b20 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 ..."Return.a.lambda.which.destru
18b40 63 74 75 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 ctures.its.input.as.MATCH-FORM.a
18b60 6e 64 20 65 78 65 63 75 74 65 73 20 42 4f 44 59 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 nd.executes.BODY...Note.that.you
18b80 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 .have.to.enclose.the.MATCH-FORM.
18ba0 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 74 3a 0a in.a.pair.of.parens,.such.that:.
18bc0 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 28 2d 6c 61 6d 62 64 61 ...(-lambda.(x).body)...(-lambda
18be0 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 .(x.y....).body)..has.the.usual.
18c00 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 60 6c 61 6d 62 64 61 27 2e 20 20 46 75 72 74 68 65 72 6d semantics.of.`lambda'...Furtherm
18c20 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e ore,.these.get.translated.into.n
18c40 6f 72 6d 61 6c 20 60 6c 61 6d 62 64 61 27 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 ormal.`lambda',.so.there.is.no.p
18c60 65 72 66 6f 72 6d 61 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 20 60 2d 6c 65 74 27 20 erformance.penalty...See.`-let'.
18c80 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 for.a.description.of.the.destruc
18ca0 74 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 turing.mechanism."...(declare.(d
18cc0 6f 63 2d 73 74 72 69 6e 67 20 32 29 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 0a 20 20 20 20 oc-string.2).(indent.defun).....
18ce0 20 20 20 20 20 20 20 28 64 65 62 75 67 20 28 26 64 65 66 69 6e 65 20 73 65 78 70 0a 20 20 20 20 .......(debug.(&define.sexp.....
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 26 6f 70 74 69 6f 6e 61 .......................[&optiona
18d20 6c 20 73 74 72 69 6e 67 70 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.stringp]......................
18d40 20 20 20 20 20 20 5b 26 6f 70 74 69 6f 6e 61 6c 20 28 22 69 6e 74 65 72 61 63 74 69 76 65 22 20 ......[&optional.("interactive".
18d60 69 6e 74 65 72 61 63 74 69 76 65 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 interactive)]...................
18d80 20 20 20 20 20 20 20 20 20 64 65 66 2d 62 6f 64 79 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 .........def-body)))...(cond....
18da0 28 28 6e 6c 69 73 74 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 28 73 69 67 6e 61 6c ((nlistp.match-form).....(signal
18dc0 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 6c 69 .'wrong-type-argument.(list.#'li
18de0 73 74 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 3b 3b 20 4e 6f 20 64 65 73 74 72 stp.match-form)))....;;.No.destr
18e00 75 63 74 75 72 69 6e 67 2c 20 73 6f 20 6a 75 73 74 20 72 65 74 75 72 6e 20 72 65 67 75 6c 61 72 ucturing,.so.just.return.regular
18e20 20 60 6c 61 6d 62 64 61 27 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 20 28 28 2d 61 6c 6c 3f 20 .`lambda'.for.speed.....((-all?.
18e40 23 27 73 79 6d 62 6f 6c 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 60 28 6c 61 6d 62 #'symbolp.match-form).....`(lamb
18e60 64 61 20 2c 6d 61 74 63 68 2d 66 6f 72 6d 20 2c 40 62 6f 64 79 29 29 0a 20 20 20 28 28 6c 65 74 da.,match-form.,@body))....((let
18e80 20 28 28 69 6e 70 75 74 73 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 0a 20 20 20 20 20 20 20 .((inputs.(--map-indexed........
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 69 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f ............(list.it.(make-symbo
18ec0 6c 20 28 66 6f 72 6d 61 74 20 22 69 6e 70 75 74 25 64 22 20 69 74 2d 69 6e 64 65 78 29 29 29 0a l.(format."input%d".it-index))).
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 ...................match-form)))
18f00 0a 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 62 65 63 61 75 73 65 20 69 6e 70 75 74 73 20 74 .......;;.TODO:.because.inputs.t
18f20 6f 20 74 68 65 20 60 6c 61 6d 62 64 61 27 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 6c o.the.`lambda'.are.evaluated.onl
18f40 79 20 6f 6e 63 65 2c 0a 20 20 20 20 20 20 3b 3b 20 60 2d 6c 65 74 2a 27 20 6e 65 65 64 20 6e 6f y.once,.......;;.`-let*'.need.no
18f60 74 20 63 72 65 61 74 65 20 74 68 65 20 65 78 74 72 61 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 65 t.create.the.extra.bindings.to.e
18f80 6e 73 75 72 65 20 74 68 61 74 2e 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 20 66 nsure.that........;;.We.should.f
18fa0 69 6e 64 20 61 20 77 61 79 20 74 6f 20 6f 70 74 69 6d 69 7a 65 20 74 68 61 74 2e 20 20 4e 6f 74 ind.a.way.to.optimize.that...Not
18fc0 20 63 72 69 74 69 63 61 6c 20 68 6f 77 65 76 65 72 2e 0a 20 20 20 20 20 20 60 28 6c 61 6d 62 64 .critical.however........`(lambd
18fe0 61 20 2c 28 6d 61 70 63 61 72 20 23 27 63 61 64 72 20 69 6e 70 75 74 73 29 0a 20 20 20 20 20 20 a.,(mapcar.#'cadr.inputs).......
19000 20 20 20 28 2d 6c 65 74 2a 20 2c 69 6e 70 75 74 73 20 2c 40 62 6f 64 79 29 29 29 29 29 29 0a 0a ...(-let*.,inputs.,@body))))))..
19020 28 64 65 66 6d 61 63 72 6f 20 2d 73 65 74 71 20 28 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 (defmacro.-setq.(&rest.forms)...
19040 22 42 69 6e 64 20 65 61 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 74 6f 20 74 68 65 20 76 61 6c "Bind.each.MATCH-FORM.to.the.val
19060 75 65 20 6f 66 20 69 74 73 20 56 41 4c 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 64 65 73 74 72 ue.of.its.VAL...MATCH-FORM.destr
19080 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 ucturing.is.done.according.to.th
190a0 65 20 72 75 6c 65 73 20 6f 66 20 60 2d 6c 65 74 27 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 61 e.rules.of.`-let'...This.macro.a
190c0 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 69 61 llows.you.to.bind.multiple.varia
190e0 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 61 6c 75 65 2c bles.by.destructuring.the.value,
19100 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 .so.for.example:....(-setq.(a.b)
19120 20 78 0a 20 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 .x..........(&plist.:c.c).plist)
19140 0a 0a 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 20 74 6f 20 74 68 ..expands.roughly.speaking.to.th
19160 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 28 73 65 74 71 20 61 20 28 63 61 72 e.following.code....(setq.a.(car
19180 20 78 29 0a 20 20 20 20 20 20 20 20 62 20 28 63 61 64 72 20 78 29 0a 20 20 20 20 20 20 20 20 63 .x).........b.(cadr.x).........c
191a0 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 .(plist-get.plist.:c))..Care.is.
191c0 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 56 41 4c 20 taken.to.only.evaluate.each.VAL.
191e0 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 once.so.that.in.case.of.multiple
19200 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 .assignments.it.does.not.cause.u
19220 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 5c 28 66 6e 20 5b 4d nexpected.side.effects...\(fn.[M
19240 41 54 43 48 2d 46 4f 52 4d 20 56 41 4c 5d 2e 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 ATCH-FORM.VAL]...)"...(declare.(
19260 64 65 62 75 67 20 28 26 72 65 73 74 20 73 65 78 70 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 debug.(&rest.sexp.form))........
19280 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 77 68 65 6e 20 28 3d 20 28 6d 6f 64 20 ....(indent.1))...(when.(=.(mod.
192a0 28 6c 65 6e 67 74 68 20 66 6f 72 6d 73 29 20 32 29 20 31 29 0a 20 20 20 20 28 73 69 67 6e 61 6c (length.forms).2).1).....(signal
192c0 20 27 77 72 6f 6e 67 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 6d 65 6e 74 73 20 28 6c 69 73 .'wrong-number-of-arguments.(lis
192e0 74 20 27 2d 73 65 74 71 20 28 31 2b 20 28 6c 65 6e 67 74 68 20 66 6f 72 6d 73 29 29 29 29 29 0a t.'-setq.(1+.(length.forms))))).
19300 20 20 28 6c 65 74 2a 20 28 28 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f 75 72 63 65 73 0a 20 20 20 20 ..(let*.((forms-and-sources.....
19320 20 20 20 20 20 20 3b 3b 20 46 69 72 73 74 20 67 65 74 20 61 6c 6c 20 74 68 65 20 6e 65 63 65 73 ......;;.First.get.all.the.neces
19340 73 61 72 79 20 6d 61 70 70 69 6e 67 73 20 77 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 sary.mappings.with.all.the......
19360 20 20 20 20 20 3b 3b 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 69 6e 64 69 6e 67 73 2e 0a 20 .....;;.intermediate.bindings...
19380 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 64 61 73 68 .........(-map.(lambda.(x).(dash
193a0 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 78 29 20 28 63 61 64 72 20 78 29 29 29 0a 20 20 20 20 20 --match.(car.x).(cadr.x)))......
193c0 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 66 6f 72 6d 73 29 29 ...........(-partition.2.forms))
193e0 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 6f 20 70 72 65 73 65 72 76 65 20 74 68 65 20 6c 6f )..........;;.To.preserve.the.lo
19400 67 69 63 20 6f 66 20 64 79 6e 61 6d 69 63 20 73 63 6f 70 69 6e 67 20 77 65 20 6d 75 73 74 20 65 gic.of.dynamic.scoping.we.must.e
19420 6e 73 75 72 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 61 74 20 77 65 20 60 73 65 74 71 27 nsure..........;;.that.we.`setq'
19440 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 60 6c .the.variables.outside.of.the.`l
19460 65 74 2a 27 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 68 6f 6c 64 et*'.form..........;;.which.hold
19480 73 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 65 64 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 s.the.destructured.intermediate.
194a0 76 61 6c 75 65 73 2e 20 20 46 6f 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 77 65 values...For..........;;.this.we
194c0 20 67 65 6e 65 72 61 74 65 20 66 6f 72 20 65 61 63 68 20 76 61 72 69 61 62 6c 65 20 61 20 70 6c .generate.for.each.variable.a.pl
194e0 61 63 65 68 6f 6c 64 65 72 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 62 aceholder.which.is..........;;.b
19500 6f 75 6e 64 20 74 6f 20 28 6c 65 78 69 63 61 6c 6c 79 29 20 74 68 65 20 72 65 73 75 6c 74 20 6f ound.to.(lexically).the.result.o
19520 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b f.the.destructuring...........;;
19540 20 54 68 65 6e 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 68 65 6c 70 65 72 20 60 6c 65 74 .Then.outside.of.the.helper.`let
19560 2a 27 20 66 6f 72 6d 20 77 65 20 62 69 6e 64 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 *'.form.we.bind.all.the.........
19580 20 3b 3b 20 6f 72 69 67 69 6e 61 6c 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20 74 68 65 69 72 20 .;;.original.variables.to.their.
195a0 72 65 73 70 65 63 74 69 76 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 73 2e 0a 20 20 20 20 20 20 20 respective.placeholders.........
195c0 20 20 3b 3b 20 54 4f 44 4f 3a 20 54 68 65 72 65 20 69 73 20 61 20 6c 6f 74 20 6f 66 20 72 6f 6f ..;;.TODO:.There.is.a.lot.of.roo
195e0 6d 20 66 6f 72 20 70 6f 73 73 69 62 6c 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2c 0a 20 20 20 m.for.possible.optimization,....
19600 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 73 74 61 72 74 20 70 6c 61 79 69 6e 67 20 77 69 74 68 20 ......;;.for.start.playing.with.
19620 60 73 70 65 63 69 61 6c 2d 76 61 72 69 61 62 6c 65 2d 70 27 20 74 6f 20 65 6c 69 6d 69 6e 61 74 `special-variable-p'.to.eliminat
19640 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 75 6e 6e 65 63 65 73 73 61 72 79 20 72 65 2d 62 69 6e e..........;;.unnecessary.re-bin
19660 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 28 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 ding...........(variables-to-pla
19680 63 65 68 6f 6c 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 0a 20 20 20 ceholders...........(-mapcat....
196a0 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 ........(lambda.(bindings)......
196c0 20 20 20 20 20 20 20 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d ........(-map...............(lam
196e0 62 64 61 20 28 62 69 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c bda.(binding).................(l
19700 65 74 20 28 28 76 61 72 20 28 63 61 72 20 62 69 6e 64 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 et.((var.(car.binding)))........
19720 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 76 61 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f ...........(list.var.(make-symbo
19740 6c 20 28 63 6f 6e 63 61 74 20 22 2d 2d 64 61 73 68 2d 62 69 6e 64 69 6e 67 2d 22 20 28 73 79 6d l.(concat."--dash-binding-".(sym
19760 62 6f 6c 2d 6e 61 6d 65 20 76 61 72 29 20 22 2d 2d 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 bol-name.var)."--"))))).........
19780 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 70 72 65 ......(--filter.(not.(string-pre
197a0 66 69 78 2d 70 20 22 2d 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 fix-p."--".(symbol-name.(car.it)
197c0 29 29 29 20 62 69 6e 64 69 6e 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 73 ))).bindings)))............forms
197e0 2d 61 6e 64 2d 73 6f 75 72 63 65 73 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 2c 28 2d 6d 61 70 -and-sources))).....`(let.,(-map
19800 20 27 63 61 64 72 20 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 .'cadr.variables-to-placeholders
19820 29 0a 20 20 20 20 20 20 20 28 6c 65 74 2a 20 2c 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 66 6f )........(let*.,(-flatten-n.1.fo
19840 72 6d 73 2d 61 6e 64 2d 73 6f 75 72 63 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 rms-and-sources)..........(setq.
19860 2c 40 28 2d 66 6c 61 74 74 65 6e 20 28 2d 6d 61 70 20 27 72 65 76 65 72 73 65 20 76 61 72 69 61 ,@(-flatten.(-map.'reverse.varia
19880 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 29 29 29 29 0a 20 20 20 20 20 20 20 bles-to-placeholders))))........
198a0 28 73 65 74 71 20 2c 40 28 2d 66 6c 61 74 74 65 6e 20 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 (setq.,@(-flatten.variables-to-p
198c0 6c 61 63 65 68 6f 6c 64 65 72 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 2d laceholders)))))..(defmacro.-if-
198e0 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 let*.(vars-vals.then.&rest.else)
19900 0a 20 20 22 49 66 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 ..."If.all.VALS.evaluate.to.true
19920 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 ,.bind.them.to.their.correspondi
19940 6e 67 0a 56 41 52 53 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 20 64 ng.VARS.and.do.THEN,.otherwise.d
19960 6f 20 45 4c 53 45 2e 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 o.ELSE..VARS-VALS.should.be.a.li
19980 73 74 0a 6f 66 20 28 56 41 52 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 st.of.(VAR.VAL).pairs...Note:.bi
199a0 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 nding.is.done.according.to.`-let
199c0 2a 27 2e 20 20 56 41 4c 53 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 *'...VALS.are.evaluated.sequenti
199e0 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 ally,.and.evaluation.stops.after
19a00 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 56 41 4c 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 .the.first.nil.VAL.is.encountere
19a20 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 26 72 65 73 74 20 28 73 d."...(declare.(debug.((&rest.(s
19a40 65 78 70 20 66 6f 72 6d 29 29 20 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 exp.form)).form.body))..........
19a60 20 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 2d 3e 3e 20 76 61 72 73 2d 76 61 6c 73 0a 20 ..(indent.2))...(->>.vars-vals..
19a80 20 20 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 ......(--mapcat.(dash--match.(ca
19aa0 72 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 r.it).(cadr.it)))........(--redu
19ac0 63 65 2d 72 2d 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 63 61 ce-r-from.........(let.((var.(ca
19ae0 72 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 20 28 63 61 64 72 20 r.it))...............(val.(cadr.
19b00 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 6c 65 74 20 28 28 2c 76 61 72 20 2c 76 61 it)))...........`(let.((,var.,va
19b20 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 76 61 72 20 2c 61 63 63 20 2c l))..............(if.,var.,acc.,
19b40 40 65 6c 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 74 68 65 6e 29 29 29 0a 0a 28 64 65 66 6d 61 @else))).........then)))..(defma
19b60 63 72 6f 20 2d 69 66 2d 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 74 68 65 6e 20 26 72 65 73 74 20 cro.-if-let.(var-val.then.&rest.
19b80 65 6c 73 65 29 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e else)..."If.VAL.evaluates.to.non
19ba0 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 64 6f 20 54 48 45 4e -nil,.bind.it.to.VAR.and.do.THEN
19bc0 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 ,.otherwise.do.ELSE...Note:.bind
19be0 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 27 2e ing.is.done.according.to.`-let'.
19c00 0a 0a 5c 28 66 6e 20 28 56 41 52 20 56 41 4c 29 20 54 48 45 4e 20 26 72 65 73 74 20 45 4c 53 45 ..\(fn.(VAR.VAL).THEN.&rest.ELSE
19c20 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 73 65 78 70 20 66 6f 72 6d )"...(declare.(debug.((sexp.form
19c40 29 20 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 ).form.body))............(indent
19c60 20 32 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 2a 20 28 2c 76 61 72 2d 76 61 6c 29 20 2c 74 68 .2))...`(-if-let*.(,var-val).,th
19c80 65 6e 20 2c 40 65 6c 73 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 69 66 2d 6c 65 74 20 en.,@else))..(defmacro.--if-let.
19ca0 28 76 61 6c 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 56 41 4c 20 (val.then.&rest.else)..."If.VAL.
19cc0 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f evaluates.to.non-nil,.bind.it.to
19ce0 20 73 79 6d 62 6f 6c 20 60 69 74 27 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 0a 6f 74 68 65 72 77 .symbol.`it'.and.do.THEN,.otherw
19d00 69 73 65 20 64 6f 20 45 4c 53 45 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 ise.do.ELSE."...(declare.(debug.
19d20 28 66 6f 72 6d 20 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e (form.form.body))............(in
19d40 64 65 6e 74 20 32 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 20 28 69 74 20 2c 76 61 6c 29 20 2c dent.2))...`(-if-let.(it.,val).,
19d60 74 68 65 6e 20 2c 40 65 6c 73 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 77 68 65 6e 2d 6c then.,@else))..(defmacro.-when-l
19d80 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 et*.(vars-vals.&rest.body)..."If
19da0 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 .all.VALS.evaluate.to.true,.bind
19dc0 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 56 41 52 .them.to.their.corresponding.VAR
19de0 53 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 20 56 41 52 53 2d 56 41 4c 53 20 73 68 S.and.execute.body..VARS-VALS.sh
19e00 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 56 41 52 20 56 41 4c 29 0a 70 61 69 72 ould.be.a.list.of.(VAR.VAL).pair
19e20 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 s...Note:.binding.is.done.accord
19e40 69 6e 67 20 74 6f 20 60 2d 6c 65 74 2a 27 2e 20 20 56 41 4c 53 20 61 72 65 20 65 76 61 6c 75 61 ing.to.`-let*'...VALS.are.evalua
19e60 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e ted.sequentially,.and.evaluation
19e80 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 56 41 4c 20 69 .stops.after.the.first.nil.VAL.i
19ea0 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 s.encountered."...(declare.(debu
19ec0 67 20 28 28 26 72 65 73 74 20 28 73 65 78 70 20 66 6f 72 6d 29 29 20 62 6f 64 79 29 29 0a 20 20 g.((&rest.(sexp.form)).body))...
19ee0 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 .........(indent.1))...`(-if-let
19f00 2a 20 2c 76 61 72 73 2d 76 61 6c 73 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 *.,vars-vals.(progn.,@body)))..(
19f20 64 65 66 6d 61 63 72 6f 20 2d 77 68 65 6e 2d 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 26 72 65 73 defmacro.-when-let.(var-val.&res
19f40 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e t.body)..."If.VAL.evaluates.to.n
19f60 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 65 78 65 63 75 on-nil,.bind.it.to.VAR.and.execu
19f80 74 65 20 62 6f 64 79 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 te.body...Note:.binding.is.done.
19fa0 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 27 2e 0a 0a 5c 28 66 6e 20 28 56 41 52 20 according.to.`-let'...\(fn.(VAR.
19fc0 56 41 4c 29 20 26 72 65 73 74 20 42 4f 44 59 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 VAL).&rest.BODY)"...(declare.(de
19fe0 62 75 67 20 28 28 73 65 78 70 20 66 6f 72 6d 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 bug.((sexp.form).body)).........
1a000 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 20 2c 76 61 72 2d ...(indent.1))...`(-if-let.,var-
1a020 76 61 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 val.(progn.,@body)))..(defmacro.
1a040 2d 2d 77 68 65 6e 2d 6c 65 74 20 28 76 61 6c 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 --when-let.(val.&rest.body)..."I
1a060 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 f.VAL.evaluates.to.non-nil,.bind
1a080 20 69 74 20 74 6f 20 73 79 6d 62 6f 6c 20 60 69 74 27 20 61 6e 64 0a 65 78 65 63 75 74 65 20 62 .it.to.symbol.`it'.and.execute.b
1a0a0 6f 64 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f ody."...(declare.(debug.(form.bo
1a0c0 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 dy))............(indent.1))...`(
1a0e0 2d 2d 69 66 2d 6c 65 74 20 2c 76 61 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a --if-let.,val.(progn.,@body)))..
1a100 3b 3b 20 54 4f 44 4f 3a 20 47 65 74 20 72 69 64 20 6f 66 20 74 68 69 73 20 64 79 6e 61 6d 69 63 ;;.TODO:.Get.rid.of.this.dynamic
1a120 20 76 61 72 69 61 62 6c 65 2c 20 70 61 73 73 69 6e 67 20 69 74 20 61 73 20 61 6e 20 61 72 67 75 .variable,.passing.it.as.an.argu
1a140 6d 65 6e 74 0a 3b 3b 20 69 6e 73 74 65 61 64 3f 0a 28 64 65 66 76 61 72 20 2d 63 6f 6d 70 61 72 ment.;;.instead?.(defvar.-compar
1a160 65 2d 66 6e 20 6e 69 6c 0a 20 20 22 54 65 73 74 73 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 75 e-fn.nil..."Tests.for.equality.u
1a180 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 6f 72 20 60 65 71 75 61 6c 27 20 69 66 20 se.this.function,.or.`equal'.if.
1a1a0 74 68 69 73 20 69 73 20 6e 69 6c 2e 0a 0a 41 73 20 61 20 64 79 6e 61 6d 69 63 20 76 61 72 69 61 this.is.nil...As.a.dynamic.varia
1a1c0 62 6c 65 2c 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 ble,.this.should.be.temporarily.
1a1e0 62 6f 75 6e 64 20 61 72 6f 75 6e 64 0a 74 68 65 20 72 65 6c 65 76 61 6e 74 20 6f 70 65 72 61 74 bound.around.the.relevant.operat
1a200 69 6f 6e 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 6d 6f 64 ion,.rather.than.permanently.mod
1a220 69 66 69 65 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 6c 65 74 20 28 28 2d ified...For.example:....(let.((-
1a240 63 6f 6d 70 61 72 65 2d 66 6e 20 23 5c 5c 3d 27 3d 29 29 0a 20 20 20 20 28 2d 75 6e 69 6f 6e 20 compare-fn.#\\='=)).....(-union.
1a260 5c 5c 3d 27 28 31 20 32 20 33 29 20 5c 5c 3d 27 28 32 20 33 20 34 29 29 29 22 29 0a 0a 28 64 65 \\='(1.2.3).\\='(2.3.4)))")..(de
1a280 66 75 6e 20 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 20 28 29 0a 20 20 22 52 65 74 75 72 6e fun.dash--member-fn.()..."Return
1a2a0 20 74 68 65 20 66 6c 61 76 6f 72 20 6f 66 20 60 6d 65 6d 62 65 72 27 20 74 68 61 74 20 67 6f 65 .the.flavor.of.`member'.that.goe
1a2c0 73 20 62 65 73 74 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 2e 22 0a 20 20 28 64 s.best.with.`-compare-fn'."...(d
1a2e0 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 eclare.(side-effect-free.error-f
1a300 72 65 65 29 29 0a 20 20 28 6c 65 74 20 28 28 63 6d 70 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 29 ree))...(let.((cmp.-compare-fn))
1a320 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 71 20 63 6d 70 20 27 28 6e 69 6c 20 65 71 75 61 .....(cond.((memq.cmp.'(nil.equa
1a340 6c 29 29 20 23 27 6d 65 6d 62 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 6d 70 l)).#'member)...........((eq.cmp
1a360 20 23 27 65 71 29 20 23 27 6d 65 6d 71 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 6d .#'eq).#'memq)...........((eq.cm
1a380 70 20 23 27 65 71 6c 29 20 23 27 6d 65 6d 71 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 61 p.#'eql).#'memql)...........((la
1a3a0 6d 62 64 61 20 28 65 6c 74 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 mbda.(elt.list)..............(wh
1a3c0 69 6c 65 20 28 61 6e 64 20 6c 69 73 74 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 63 6d 70 20 ile.(and.list.(not.(funcall.cmp.
1a3e0 65 6c 74 20 28 63 61 72 20 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 elt.(car.list))))...............
1a400 20 28 70 6f 70 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 .(pop.list))..............list))
1a420 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 61 73 73 6f 63 2d 66 6e 20 28 29 0a 20 20 )))..(defun.dash--assoc-fn.()...
1a440 22 52 65 74 75 72 6e 20 74 68 65 20 66 6c 61 76 6f 72 20 6f 66 20 60 61 73 73 6f 63 27 20 74 68 "Return.the.flavor.of.`assoc'.th
1a460 61 74 20 67 6f 65 73 20 62 65 73 74 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 2e at.goes.best.with.`-compare-fn'.
1a480 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 "...(declare.(side-effect-free.e
1a4a0 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 65 74 20 28 28 63 6d 70 20 2d 63 6f 6d 70 61 72 rror-free))...(let.((cmp.-compar
1a4c0 65 2d 66 6e 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 71 20 63 6d 70 20 27 28 6e 69 e-fn)).....(cond.((memq.cmp.'(ni
1a4e0 6c 20 65 71 75 61 6c 29 29 20 23 27 61 73 73 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 l.equal)).#'assoc)...........((e
1a500 71 20 63 6d 70 20 23 27 65 71 29 20 23 27 61 73 73 71 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 q.cmp.#'eq).#'assq)...........((
1a520 6c 61 6d 62 64 61 20 28 6b 65 79 20 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(key.alist)..............
1a540 3b 3b 20 53 69 6e 63 65 20 45 6d 61 63 73 20 32 36 2c 20 60 61 73 73 6f 63 27 20 61 63 63 65 70 ;;.Since.Emacs.26,.`assoc'.accep
1a560 74 73 20 61 20 63 75 73 74 6f 6d 20 60 74 65 73 74 66 6e 27 2e 0a 20 20 20 20 20 20 20 20 20 20 ts.a.custom.`testfn'............
1a580 20 20 20 3b 3b 20 56 65 72 73 69 6f 6e 20 74 65 73 74 69 6e 67 20 77 6f 75 6c 64 20 62 65 20 73 ...;;.Version.testing.would.be.s
1a5a0 69 6d 70 6c 65 72 20 68 65 72 65 2c 20 62 75 74 20 66 65 61 74 75 72 65 0a 20 20 20 20 20 20 20 impler.here,.but.feature........
1a5c0 20 20 20 20 20 20 3b 3b 20 74 65 73 74 69 6e 67 20 67 65 74 73 20 6d 6f 72 65 20 62 72 6f 77 6e ......;;.testing.gets.more.brown
1a5e0 69 65 20 70 6f 69 6e 74 73 2c 20 49 20 67 75 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ie.points,.I.guess..............
1a600 20 28 73 74 61 74 69 63 2d 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a .(static-if.(condition-case.nil.
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 ............................(ass
1a640 6f 63 20 6e 69 6c 20 28 29 20 23 27 65 71 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oc.nil.().#'eql)................
1a660 20 20 20 20 20 20 20 20 20 20 20 28 77 72 6f 6e 67 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 ...........(wrong-number-of-argu
1a680 6d 65 6e 74 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 ments.t))..................(--fi
1a6a0 72 73 74 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 63 6d 70 rst.(and.(consp.it).(funcall.cmp
1a6c0 20 28 63 61 72 20 69 74 29 20 6b 65 79 29 29 20 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 .(car.it).key)).alist)..........
1a6e0 20 20 20 20 20 20 28 61 73 73 6f 63 20 6b 65 79 20 61 6c 69 73 74 20 63 6d 70 29 29 29 29 29 29 ......(assoc.key.alist.cmp))))))
1a700 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 20 28 29 0a )..(defun.dash--hash-test-fn.().
1a720 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 68 61 73 68 20 74 61 62 6c 65 20 74 65 73 74 20 66 75 .."Return.the.hash.table.test.fu
1a740 6e 63 74 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 60 2d 63 6f 6d 70 61 72 nction.corresponding.to.`-compar
1a760 65 2d 66 6e 27 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 e-fn'..Return.nil.if.`-compare-f
1a780 6e 27 20 69 73 20 6e 6f 74 20 61 20 6b 6e 6f 77 6e 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 2e n'.is.not.a.known.test.function.
1a7a0 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 "...(declare.(side-effect-free.e
1a7c0 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 3b 3b 20 49 6e 20 74 68 65 6f 72 79 20 74 68 69 73 20 rror-free))...;;.In.theory.this.
1a7e0 63 6f 75 6c 64 20 61 6c 73 6f 20 72 65 63 6f 67 6e 69 7a 65 20 76 61 6c 75 65 73 20 74 68 61 74 could.also.recognize.values.that
1a800 20 61 72 65 20 63 75 73 74 6f 6d 0a 20 20 3b 3b 20 60 68 61 73 68 2d 74 61 62 6c 65 2d 74 65 73 .are.custom...;;.`hash-table-tes
1a820 74 27 73 2c 20 62 75 74 20 74 6f 6f 20 6f 66 74 65 6e 20 74 68 65 20 3a 74 65 73 74 20 6e 61 6d t's,.but.too.often.the.:test.nam
1a840 65 20 69 73 20 64 69 66 66 65 72 65 6e 74 0a 20 20 3b 3b 20 66 72 6f 6d 20 74 68 65 20 65 71 75 e.is.different...;;.from.the.equ
1a860 61 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 69 74 20 64 6f 65 73 6e 27 74 20 73 65 ality.function,.so.it.doesn't.se
1a880 65 6d 20 77 6f 72 74 68 77 68 69 6c 65 2e 0a 20 20 28 63 61 72 20 28 6d 65 6d 71 20 28 6f 72 20 em.worthwhile....(car.(memq.(or.
1a8a0 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 27 65 71 75 61 6c 29 20 27 28 65 71 75 61 6c 20 65 71 20 -compare-fn.#'equal).'(equal.eq.
1a8c0 65 71 6c 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 eql))))..(defvar.dash--short-lis
1a8e0 74 2d 6c 65 6e 67 74 68 20 33 32 0a 20 20 22 4d 61 78 69 6d 75 6d 20 6c 69 73 74 20 6c 65 6e 67 t-length.32..."Maximum.list.leng
1a900 74 68 20 63 6f 6e 73 69 64 65 72 65 64 20 73 68 6f 72 74 2c 20 66 6f 72 20 6f 70 74 69 6d 69 7a th.considered.short,.for.optimiz
1a920 61 74 69 6f 6e 73 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 73 70 65 65 64 75 70 ations..For.example,.the.speedup
1a940 20 61 66 66 6f 72 64 65 64 20 62 79 20 68 61 73 68 20 74 61 62 6c 65 20 6c 6f 6f 6b 75 70 20 6d .afforded.by.hash.table.lookup.m
1a960 61 79 20 73 74 61 72 74 0a 74 6f 20 6f 75 74 77 65 69 67 68 20 69 74 73 20 72 75 6e 74 69 6d 65 ay.start.to.outweigh.its.runtime
1a980 20 61 6e 64 20 6d 65 6d 6f 72 79 20 6f 76 65 72 68 65 61 64 20 66 6f 72 20 70 72 6f 62 6c 65 6d .and.memory.overhead.for.problem
1a9a0 20 73 69 7a 65 73 0a 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 69 73 20 76 61 6c 75 65 2e 20 .sizes.greater.than.this.value..
1a9c0 20 53 65 65 20 61 6c 73 6f 20 74 68 65 20 64 69 73 63 75 73 73 69 6f 6e 20 69 6e 20 50 52 20 23 .See.also.the.discussion.in.PR.#
1a9e0 33 30 35 2e 22 29 0a 0a 28 64 65 66 75 6e 20 2d 64 69 73 74 69 6e 63 74 20 28 6c 69 73 74 29 0a 305.")..(defun.-distinct.(list).
1aa00 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c .."Return.a.copy.of.LIST.with.al
1aa20 6c 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 54 l.duplicate.elements.removed...T
1aa40 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 he.test.for.equality.is.done.wit
1aa60 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 h.`equal',.or.with.`-compare-fn'
1aa80 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 .if.that.is.non-nil...Alias:.`-u
1aaa0 6e 69 71 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 niq'."...(declare.(important-ret
1aac0 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 6c 65 6e 29 0a urn-value.t))...(let.(test.len).
1aae0 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 20 28 29 29 0a 20 20 20 20 20 ....(cond.((null.list).())......
1ab00 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f .....;;.Use.a.hash.table.if.`-co
1ab20 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a mpare-fn'.is.a.known.hash.table.
1ab40 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 ..........;;.test.function.and.t
1ab60 68 65 20 6c 69 73 74 20 69 73 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 he.list.is.long.enough..........
1ab80 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 ..((and.(setq.test.(dash--hash-t
1aba0 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 65 74 est-fn)).................(>.(set
1abc0 71 20 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 q.len.(length.list)).dash--short
1abe0 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 -list-length))............(let.(
1ac00 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 (ht.(make-hash-table.:test.test.
1ac20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c :size.len)))..............(--fil
1ac40 74 65 72 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 73 68 20 69 74 20 68 74 29 20 28 70 75 74 ter.(unless.(gethash.it.ht).(put
1ac60 68 61 73 68 20 69 74 20 74 20 68 74 29 29 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 hash.it.t.ht)).list)))..........
1ac80 20 28 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e .((let.((member.(dash--member-fn
1aca0 29 29 20 75 6e 69 71 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 )).uniq)..............(--each.li
1acc0 73 74 20 28 75 6e 6c 65 73 73 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 75 6e st.(unless.(funcall.member.it.un
1ace0 69 71 29 20 28 70 75 73 68 20 69 74 20 75 6e 69 71 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 iq).(push.it.uniq)))............
1ad00 20 20 28 6e 72 65 76 65 72 73 65 20 75 6e 69 71 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 ..(nreverse.uniq))))))..(defalia
1ad20 73 20 27 2d 75 6e 69 71 20 23 27 2d 64 69 73 74 69 6e 63 74 29 0a 0a 28 64 65 66 75 6e 20 64 61 s.'-uniq.#'-distinct)..(defun.da
1ad40 73 68 2d 2d 73 69 7a 65 2b 20 28 73 69 7a 65 31 20 73 69 7a 65 32 29 0a 20 20 22 52 65 74 75 72 sh--size+.(size1.size2)..."Retur
1ad60 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 66 69 78 6e 75 6d 73 n.the.sum.of.nonnegative.fixnums
1ad80 20 53 49 5a 45 31 20 61 6e 64 20 53 49 5a 45 32 2e 0a 52 65 74 75 72 6e 20 60 6d 6f 73 74 2d 70 .SIZE1.and.SIZE2..Return.`most-p
1ada0 6f 73 69 74 69 76 65 2d 66 69 78 6e 75 6d 27 20 6f 6e 20 6f 76 65 72 66 6c 6f 77 2e 20 20 54 68 ositive-fixnum'.on.overflow...Th
1adc0 69 73 20 65 6e 73 75 72 65 73 20 74 68 65 0a 72 65 73 75 6c 74 20 69 73 20 61 20 76 61 6c 69 64 is.ensures.the.result.is.a.valid
1ade0 20 73 69 7a 65 2c 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 66 6f 72 20 61 6c 6c 6f 63 61 74 69 .size,.particularly.for.allocati
1ae00 6e 67 20 68 61 73 68 20 74 61 62 6c 65 73 2c 0a 65 76 65 6e 20 69 6e 20 74 68 65 20 70 72 65 73 ng.hash.tables,.even.in.the.pres
1ae20 65 6e 63 65 20 6f 66 20 62 69 67 6e 75 6d 20 73 75 70 70 6f 72 74 2e 22 0a 20 20 28 64 65 63 6c ence.of.bignum.support."...(decl
1ae40 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 are.(side-effect-free.t))...(if.
1ae60 28 3c 20 73 69 7a 65 31 20 28 2d 20 6d 6f 73 74 2d 70 6f 73 69 74 69 76 65 2d 66 69 78 6e 75 6d (<.size1.(-.most-positive-fixnum
1ae80 20 73 69 7a 65 32 29 29 0a 20 20 20 20 20 20 28 2b 20 73 69 7a 65 31 20 73 69 7a 65 32 29 0a 20 .size2)).......(+.size1.size2)..
1aea0 20 20 20 6d 6f 73 74 2d 70 6f 73 69 74 69 76 65 2d 66 69 78 6e 75 6d 29 29 0a 0a 28 64 65 66 75 ...most-positive-fixnum))..(defu
1aec0 6e 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e n.-union.(list1.list2)..."Return
1aee0 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 .a.new.list.of.distinct.elements
1af00 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 65 69 74 68 65 72 20 4c 49 53 54 31 20 6f 72 20 4c 49 .appearing.in.either.LIST1.or.LI
1af20 53 54 32 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 ST2...The.test.for.equality.is.d
1af40 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 one.with.`equal',.or.with.`-comp
1af60 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 are-fn'.if.that.is.non-nil."...(
1af80 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 declare.(important-return-value.
1afa0 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 69 73 74 73 20 28 6c 69 73 74 20 6c 69 73 74 31 20 6c t))...(let.((lists.(list.list1.l
1afc0 69 73 74 32 29 29 20 74 65 73 74 20 6c 65 6e 20 75 6e 69 6f 6e 29 0a 20 20 20 20 28 63 6f 6e 64 ist2)).test.len.union).....(cond
1afe0 20 28 28 6e 75 6c 6c 20 28 6f 72 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 29 0a 20 20 20 20 20 .((null.(or.list1.list2)))......
1b000 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f .....;;.Use.a.hash.table.if.`-co
1b020 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a mpare-fn'.is.a.known.hash.table.
1b040 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 ..........;;.test.function.and.t
1b060 68 65 20 6c 69 73 74 73 20 61 72 65 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 he.lists.are.long.enough........
1b080 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 ....((and.(setq.test.(dash--hash
1b0a0 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 -test-fn)).................(>.(s
1b0c0 65 74 71 20 6c 65 6e 20 28 64 61 73 68 2d 2d 73 69 7a 65 2b 20 28 6c 65 6e 67 74 68 20 6c 69 73 etq.len.(dash--size+.(length.lis
1b0e0 74 31 29 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 t1).(length.list2)))............
1b100 20 20 20 20 20 20 20 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 ........dash--short-list-length)
1b120 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 )............(let.((ht.(make-has
1b140 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 0a h-table.:test.test.:size.len))).
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6c 20 6c 69 73 74 73 29 0a 20 .............(dolist.(l.lists)..
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 20 28 75 6e 6c 65 73 73 20 ..............(--each.l.(unless.
1b1a0 28 67 65 74 68 61 73 68 20 69 74 20 68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (gethash.it.ht).................
1b1c0 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 29 0a 20 20 20 ...........(puthash.it.t.ht)....
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 ........................(push.it
1b200 20 75 6e 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6d .union))))))...........((let.((m
1b220 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 29 0a 20 20 20 20 20 20 ember.(dash--member-fn))).......
1b240 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 .......(dolist.(l.lists)........
1b260 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 20 28 75 6e 6c 65 73 73 20 28 66 75 6e 63 61 ........(--each.l.(unless.(funca
1b280 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 75 6e 69 6f 6e 29 20 28 70 75 73 68 20 69 74 20 75 6e 69 ll.member.it.union).(push.it.uni
1b2a0 6f 6e 29 29 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 75 6e 69 6f 6e 29 29 29 on))))))).....(nreverse.union)))
1b2c0 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 ..(defun.-intersection.(list1.li
1b2e0 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 st2)..."Return.a.new.list.of.dis
1b300 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 62 6f 74 68 tinct.elements.appearing.in.both
1b320 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 .LIST1.and.LIST2...The.test.for.
1b340 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f equality.is.done.with.`equal',.o
1b360 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 r.with.`-compare-fn'.if.that.is.
1b380 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d non-nil."...(declare.(important-
1b3a0 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 6c 65 return-value.t))...(let.(test.le
1b3c0 6e 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 28 61 6e 64 20 6c 69 73 74 31 20 6c n).....(cond.((null.(and.list1.l
1b3e0 69 73 74 32 29 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 ist2)).())...........;;.Use.a.ha
1b400 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b sh.table.if.`-compare-fn'.is.a.k
1b420 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 nown.hash.table...........;;.tes
1b440 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 65 69 74 68 65 72 20 6c 69 73 74 20 69 73 20 6c 6f t.function.and.either.list.is.lo
1b460 6e 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 ng.enough............((and.(setq
1b480 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 .test.(dash--hash-test-fn)).....
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 65 74 71 20 6c 65 6e 20 28 6c 65 6e 67 74 68 ............(>.(setq.len.(length
1b4c0 20 6c 69 73 74 32 29 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 .list2)).dash--short-list-length
1b4e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 ))............(let.((ht.(make-ha
1b500 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 sh-table.:test.test.:size.len)))
1b520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 32 20 28 70 75 74 ..............(--each.list2.(put
1b540 68 61 73 68 20 69 74 20 74 20 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 hash.it.t.ht))..............;;.R
1b560 65 6d 6f 76 65 20 76 69 73 69 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 74 6f 20 61 76 6f 69 64 20 emove.visited.elements.to.avoid.
1b580 64 75 70 6c 69 63 61 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 duplicates...............(--filt
1b5a0 65 72 20 28 77 68 65 6e 20 28 67 65 74 68 61 73 68 20 69 74 20 68 74 29 20 28 72 65 6d 68 61 73 er.(when.(gethash.it.ht).(remhas
1b5c0 68 20 69 74 20 68 74 29 20 74 29 20 6c 69 73 74 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 h.it.ht).t).list1)))...........(
1b5e0 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 (let.((member.(dash--member-fn))
1b600 20 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 .intersection)..............(--e
1b620 61 63 68 20 6c 69 73 74 31 20 28 61 6e 64 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 ach.list1.(and.(funcall.member.i
1b640 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.list2)........................
1b660 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 .........(not.(funcall.member.it
1b680 20 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .intersection)).................
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 69 6e 74 65 72 73 65 ................(push.it.interse
1b6c0 63 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 ction)))..............(nreverse.
1b6e0 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 69 66 66 intersection))))))..(defun.-diff
1b700 65 72 65 6e 63 65 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 61 erence.(list1.list2)..."Return.a
1b720 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 6d 65 6d 62 .new.list.with.the.distinct.memb
1b740 65 72 73 20 6f 66 20 4c 49 53 54 31 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 ers.of.LIST1.that.are.not.in.LIS
1b760 54 32 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f T2...The.test.for.equality.is.do
1b780 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 ne.with.`equal',.or.with.`-compa
1b7a0 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 re-fn'.if.that.is.non-nil."...(d
1b7c0 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 eclare.(important-return-value.t
1b7e0 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 6c 65 6e 31 20 6c 65 6e 32 29 0a 20 20 20 20 28 ))...(let.(test.len1.len2).....(
1b800 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 31 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 cond.((null.list1).())..........
1b820 20 28 28 6e 75 6c 6c 20 6c 69 73 74 32 29 20 28 2d 64 69 73 74 69 6e 63 74 20 6c 69 73 74 31 29 .((null.list2).(-distinct.list1)
1b840 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 )...........;;.Use.a.hash.table.
1b860 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b 6e 6f 77 6e 20 68 61 73 68 if.`-compare-fn'.is.a.known.hash
1b880 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 20 66 75 6e 63 74 69 6f .table...........;;.test.functio
1b8a0 6e 20 61 6e 64 20 74 68 65 20 73 75 62 74 72 61 68 65 6e 64 20 69 73 20 6c 6f 6e 67 20 65 6e 6f n.and.the.subtrahend.is.long.eno
1b8c0 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 ugh............((and.(setq.test.
1b8e0 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 (dash--hash-test-fn))...........
1b900 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 31 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 31 29 29 ......(setq.len1.(length.list1))
1b920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 32 20 28 6c 65 6e .................(setq.len2.(len
1b940 67 74 68 20 6c 69 73 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 gth.list2)).................(>.(
1b960 6d 61 78 20 6c 65 6e 31 20 6c 65 6e 32 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d max.len1.len2).dash--short-list-
1b980 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 74 31 20 28 length))............(let.((ht1.(
1b9a0 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 make-hash-table.:test.test.:size
1b9c0 20 6c 65 6e 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 32 20 28 6d .len1))..................(ht2.(m
1b9e0 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 ake-hash-table.:test.test.:size.
1ba00 6c 65 6e 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 len2)))..............(--each.lis
1ba20 74 32 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 t2.(puthash.it.t.ht2))..........
1ba40 20 20 20 20 3b 3b 20 41 76 6f 69 64 20 64 75 70 6c 69 63 61 74 65 73 20 62 79 20 74 72 61 63 6b ....;;.Avoid.duplicates.by.track
1ba60 69 6e 67 20 76 69 73 69 74 65 64 20 69 74 65 6d 73 20 69 6e 20 60 68 74 31 27 2e 0a 20 20 20 20 ing.visited.items.in.`ht1'......
1ba80 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 .........(--filter.(unless.(or.(
1baa0 67 65 74 68 61 73 68 20 69 74 20 68 74 32 29 20 28 67 65 74 68 61 73 68 20 69 74 20 68 74 31 29 gethash.it.ht2).(gethash.it.ht1)
1bac0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 )..........................(puth
1bae0 61 73 68 20 69 74 20 74 20 68 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ash.it.t.ht1))..................
1bb00 20 20 20 20 20 20 6c 69 73 74 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 ......list1)))...........((let.(
1bb20 28 6d 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 20 64 69 66 66 65 (member.(dash--member-fn)).diffe
1bb40 72 65 6e 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 rence)..............(--each.list
1bb60 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 66 75 1................(unless.(or.(fu
1bb80 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 20 20 20 20 ncall.member.it.list2)..........
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 ..................(funcall.membe
1bbc0 72 20 69 74 20 64 69 66 66 65 72 65 6e 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.it.difference))...............
1bbe0 20 20 20 28 70 75 73 68 20 69 74 20 64 69 66 66 65 72 65 6e 63 65 29 29 29 0a 20 20 20 20 20 20 ...(push.it.difference))).......
1bc00 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 64 69 66 66 65 72 65 6e 63 65 29 29 29 29 29 .......(nreverse.difference)))))
1bc20 29 0a 0a 28 64 65 66 75 6e 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 )..(defun.-powerset.(list)..."Re
1bc40 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 turn.the.power.set.of.LIST."...(
1bc60 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 declare.(pure.t).(side-effect-fr
1bc80 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 74 29 20 28 6c 69 73 74 20 28 ee.t))...(if.(null.list).(list.(
1bca0 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 61 73 74 20 28 2d 70 6f 77 65 72 73 65 74 20 28 63 )).....(let.((last.(-powerset.(c
1bcc0 64 72 20 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 6d 61 70 63 61 72 dr.list)))).......(nconc.(mapcar
1bce0 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 .(lambda.(x).(cons.(car.list).x)
1bd00 29 20 6c 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 29 29 29 29 0a 0a 28 ).last)..............last))))..(
1bd20 64 65 66 75 6e 20 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 6c 69 73 74 29 0a 20 20 22 43 6f 75 defun.-frequencies.(list)..."Cou
1bd40 6e 74 20 74 68 65 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 65 61 63 68 20 64 69 73 74 69 nt.the.occurrences.of.each.disti
1bd60 6e 63 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 nct.element.of.LIST...Return.an.
1bd80 61 6c 69 73 74 20 6f 66 20 28 45 4c 45 4d 45 4e 54 20 2e 20 4e 29 2c 20 77 68 65 72 65 20 65 61 alist.of.(ELEMENT...N),.where.ea
1bda0 63 68 20 45 4c 45 4d 45 4e 54 20 6f 63 63 75 72 73 20 4e 0a 74 69 6d 65 73 20 69 6e 20 4c 49 53 ch.ELEMENT.occurs.N.times.in.LIS
1bdc0 54 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e T...The.test.for.equality.is.don
1bde0 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 e.with.`equal',.or.with.`-compar
1be00 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 e-fn'.if.that.is.non-nil...See.a
1be20 6c 73 6f 20 60 2d 63 6f 75 6e 74 27 20 61 6e 64 20 60 2d 67 72 6f 75 70 2d 62 79 27 2e 22 0a 20 lso.`-count'.and.`-group-by'."..
1be40 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 .(declare.(important-return-valu
1be60 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 6c 65 6e 20 66 72 65 71 73 29 0a 20 20 e.t))...(let.(test.len.freqs)...
1be80 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..(cond.((null.list))...........
1bea0 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 ((and.(setq.test.(dash--hash-tes
1bec0 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 65 74 71 20 t-fn)).................(>.(setq.
1bee0 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c len.(length.list)).dash--short-l
1bf00 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 ist-length))............(let.((h
1bf20 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 t.(make-hash-table.:test.test.:s
1bf40 69 7a 65 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 68 61 72 65 ize.len)))..............;;.Share
1bf60 20 73 74 72 75 63 74 75 72 65 20 62 65 74 77 65 65 6e 20 68 61 73 68 20 74 61 62 6c 65 20 61 6e .structure.between.hash.table.an
1bf80 64 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b d.returned.list...............;;
1bfa0 20 54 68 69 73 20 61 66 66 6f 72 64 73 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 61 74 .This.affords.a.single.pass.that
1bfc0 20 70 72 65 73 65 72 76 65 73 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 .preserves.the.input............
1bfe0 20 20 3b 3b 20 6f 72 64 65 72 2c 20 63 6f 6e 73 65 73 20 6c 65 73 73 20 67 61 72 62 61 67 65 2c ..;;.order,.conses.less.garbage,
1c000 20 61 6e 64 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 .and.is.faster.than.a...........
1c020 20 20 20 3b 3b 20 73 65 63 6f 6e 64 20 74 72 61 76 65 72 73 61 6c 20 28 65 2e 67 2e 2c 20 77 69 ...;;.second.traversal.(e.g.,.wi
1c040 74 68 20 60 6d 61 70 68 61 73 68 27 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 th.`maphash')...............(--e
1c060 61 63 68 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 ach.list................(let.((f
1c080 72 65 71 20 28 67 65 74 68 61 73 68 20 69 74 20 68 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 req.(gethash.it.ht)))...........
1c0a0 20 20 20 20 20 20 20 28 69 66 20 66 72 65 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(if.freq.................
1c0c0 20 20 20 20 20 28 73 65 74 63 64 72 20 66 72 65 71 20 28 31 2b 20 28 63 64 72 20 66 72 65 71 29 .....(setcdr.freq.(1+.(cdr.freq)
1c0e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 75 74 ))....................(push.(put
1c100 68 61 73 68 20 69 74 20 28 63 6f 6e 73 20 69 74 20 31 29 20 68 74 29 20 66 72 65 71 73 29 29 29 hash.it.(cons.it.1).ht).freqs)))
1c120 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 61 73 73 6f 63 20 28 64 61 73 )))...........((let.((assoc.(das
1c140 68 2d 2d 61 73 73 6f 63 2d 66 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 h--assoc-fn)))..............(--e
1c160 61 63 68 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 ach.list................(let.((f
1c180 72 65 71 20 28 66 75 6e 63 61 6c 6c 20 61 73 73 6f 63 20 69 74 20 66 72 65 71 73 29 29 29 0a 20 req.(funcall.assoc.it.freqs)))..
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 66 72 65 71 0a 20 20 20 20 20 20 20 ................(if.freq........
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 66 72 65 71 20 28 31 2b 20 28 ..............(setcdr.freq.(1+.(
1c1e0 63 64 72 20 66 72 65 71 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 cdr.freq)))....................(
1c200 70 75 73 68 20 28 63 6f 6e 73 20 69 74 20 31 29 20 66 72 65 71 73 29 29 29 29 29 29 29 0a 20 20 push.(cons.it.1).freqs)))))))...
1c220 20 20 28 6e 72 65 76 65 72 73 65 20 66 72 65 71 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 ..(nreverse.freqs)))..(defun.das
1c240 68 2d 2d 6e 75 6d 62 65 72 73 3c 3d 20 28 6e 75 6d 73 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f h--numbers<=.(nums)..."Return.no
1c260 6e 2d 6e 69 6c 20 69 66 20 4e 55 4d 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6e 6f 6e 2d 64 n-nil.if.NUMS.is.a.list.of.non-d
1c280 65 63 72 65 61 73 69 6e 67 20 6e 75 6d 62 65 72 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 ecreasing.numbers."...(declare.(
1c2a0 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 pure.t).(side-effect-free.t))...
1c2c0 28 6f 72 20 28 6e 75 6c 6c 20 6e 75 6d 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 65 (or.(null.nums).......(let.((pre
1c2e0 76 20 28 70 6f 70 20 6e 75 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 75 6d v.(pop.nums))).........(and.(num
1c300 62 65 72 70 20 70 72 65 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 76 65 72 79 berp.prev)..............(--every
1c320 20 28 61 6e 64 20 28 6e 75 6d 62 65 72 70 20 69 74 29 20 28 3c 3d 20 70 72 65 76 20 28 73 65 74 .(and.(numberp.it).(<=.prev.(set
1c340 71 20 70 72 65 76 20 69 74 29 29 29 20 6e 75 6d 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 q.prev.it))).nums)))))..(defun.d
1c360 61 73 68 2d 2d 6e 65 78 74 2d 6c 65 78 2d 70 65 72 6d 20 28 61 72 72 61 79 20 6e 29 0a 20 20 22 ash--next-lex-perm.(array.n)..."
1c380 55 70 64 61 74 65 20 41 52 52 41 59 20 6f 66 20 4e 20 6e 75 6d 62 65 72 73 20 77 69 74 68 20 69 Update.ARRAY.of.N.numbers.with.i
1c3a0 74 73 20 6e 65 78 74 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 20 70 65 72 6d 75 74 61 74 69 6f ts.next.lexicographic.permutatio
1c3c0 6e 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 n..Return.nil.if.there.is.no.suc
1c3e0 68 20 73 75 63 63 65 73 73 6f 72 2e 20 20 4e 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 6e 7a 65 72 h.successor...N.should.be.nonzer
1c400 6f 2e 0a 0a 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 73 61 6c 69 65 6e 74 20 o...This.implements.the.salient.
1c420 73 74 65 70 73 20 6f 66 20 41 6c 67 6f 72 69 74 68 6d 20 4c 20 28 4c 65 78 69 63 6f 67 72 61 70 steps.of.Algorithm.L.(Lexicograp
1c440 68 69 63 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 67 65 6e 65 72 61 74 69 6f 6e 29 20 61 73 20 64 hic.permutation.generation).as.d
1c460 65 73 63 72 69 62 65 64 20 69 6e 20 44 45 20 4b 6e 75 74 68 27 73 20 54 68 65 20 41 72 74 20 6f escribed.in.DE.Knuth's.The.Art.o
1c480 66 0a 43 6f 6d 70 75 74 65 72 20 50 72 6f 67 72 61 6d 6d 69 6e 67 2c 20 56 6f 6c 75 6d 65 20 34 f.Computer.Programming,.Volume.4
1c4a0 41 20 2f 20 43 6f 6d 62 69 6e 61 74 6f 72 69 61 6c 20 41 6c 67 6f 72 69 74 68 6d 73 2c 0a 50 61 A./.Combinatorial.Algorithms,.Pa
1c4c0 72 74 20 49 2c 20 41 64 64 69 73 6f 6e 2d 57 65 73 6c 65 79 2c 20 32 30 31 31 2c 20 c2 a7 20 37 rt.I,.Addison-Wesley,.2011,....7
1c4e0 2e 32 2e 31 2e 32 2c 20 70 2e 20 33 31 39 2e 22 0a 20 20 28 73 65 74 71 20 6e 20 28 31 2d 20 6e .2.1.2,.p..319."...(setq.n.(1-.n
1c500 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 6c 20 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6a 20 28 31 ))...(let*.((l.n)..........(j.(1
1c520 2d 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 6c 20 28 61 72 65 66 20 61 72 72 61 79 20 6e -.n))..........(al.(aref.array.n
1c540 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 6a 20 61 6c 29 29 0a 20 20 20 20 3b 3b 20 4c 32 2e 20 ))..........(aj.al)).....;;.L2..
1c560 5b 46 69 6e 64 20 6a 5d 2e 0a 20 20 20 20 3b 3b 20 44 65 63 72 65 6d 65 6e 74 20 6a 20 75 6e 74 [Find.j]......;;.Decrement.j.unt
1c580 69 6c 20 61 5b 6a 5d 20 3c 20 61 5b 6a 2b 31 5d 2e 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e il.a[j].<.a[j+1]......(while.(an
1c5a0 64 20 28 3c 3d 20 30 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 61 d.(<=.0.j).................(<=.a
1c5c0 6a 20 28 73 65 74 71 20 61 6a 20 28 61 72 65 66 20 61 72 72 61 79 20 6a 29 29 29 29 0a 20 20 20 j.(setq.aj.(aref.array.j))))....
1c5e0 20 20 20 28 73 65 74 71 20 6a 20 28 31 2d 20 6a 29 29 29 0a 20 20 20 20 3b 3b 20 54 65 72 6d 69 ...(setq.j.(1-.j))).....;;.Termi
1c600 6e 61 74 65 20 61 6c 67 6f 72 69 74 68 6d 20 69 66 20 6a 20 6e 6f 74 20 66 6f 75 6e 64 2e 0a 20 nate.algorithm.if.j.not.found...
1c620 20 20 20 28 77 68 65 6e 20 28 3e 3d 20 6a 20 30 29 0a 20 20 20 20 20 20 3b 3b 20 4c 33 2e 20 5b ...(when.(>=.j.0).......;;.L3..[
1c640 49 6e 63 72 65 61 73 65 20 61 5b 6a 5d 5d 2e 0a 20 20 20 20 20 20 3b 3b 20 44 65 63 72 65 6d 65 Increase.a[j]]........;;.Decreme
1c660 6e 74 20 6c 20 75 6e 74 69 6c 20 61 5b 6a 5d 20 3c 20 61 5b 6c 5d 2e 0a 20 20 20 20 20 20 28 77 nt.l.until.a[j].<.a[l]........(w
1c680 68 69 6c 65 20 28 3e 3d 20 61 6a 20 61 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 hile.(>=.aj.al).........(setq.l.
1c6a0 28 31 2d 20 6c 29 20 61 6c 20 28 61 72 65 66 20 61 72 72 61 79 20 6c 29 29 29 0a 20 20 20 20 20 (1-.l).al.(aref.array.l)))......
1c6c0 20 3b 3b 20 53 77 61 70 20 61 5b 6a 5d 20 61 6e 64 20 61 5b 6c 5d 2e 0a 20 20 20 20 20 20 28 61 .;;.Swap.a[j].and.a[l]........(a
1c6e0 73 65 74 20 61 72 72 61 79 20 6a 20 61 6c 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 61 72 72 61 set.array.j.al).......(aset.arra
1c700 79 20 6c 20 61 6a 29 0a 20 20 20 20 20 20 3b 3b 20 4c 34 2e 20 5b 52 65 76 65 72 73 65 20 61 5b y.l.aj).......;;.L4..[Reverse.a[
1c720 6a 2b 31 5d 2e 2e 2e 61 5b 6e 5d 5d 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 6e 29 0a 20 j+1]...a[n]]........(setq.l.n)..
1c740 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 73 65 74 71 20 6a 20 28 31 2b 20 6a 29 29 20 6c .....(while.(<.(setq.j.(1+.j)).l
1c760 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 6a 20 28 61 72 65 66 20 61 72 72 61 79 20 6a ).........(setq.aj.(aref.array.j
1c780 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 61 72 72 61 79 20 6a 20 28 61 72 65 66 20 61 )).........(aset.array.j.(aref.a
1c7a0 72 72 61 79 20 6c 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 61 72 72 61 79 20 6c 20 61 rray.l)).........(aset.array.l.a
1c7c0 6a 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 31 2d 20 6c 29 29 29 0a 20 20 20 20 j).........(setq.l.(1-.l))).....
1c7e0 20 20 61 72 72 61 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6c 65 78 2d 70 65 72 ..array)))..(defun.dash--lex-per
1c800 6d 73 20 28 76 65 63 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 72 69 67 69 6e 61 6c 29 0a 20 20 22 52 ms.(vec.&optional.original)..."R
1c820 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 eturn.a.list.of.permutations.of.
1c840 56 45 43 20 69 6e 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 20 6f 72 64 65 72 2e 0a 53 70 65 63 VEC.in.lexicographic.order..Spec
1c860 69 66 69 63 61 6c 6c 79 2c 20 72 65 74 75 72 6e 20 6f 6e 6c 79 20 74 68 65 20 73 75 63 63 65 73 ifically,.return.only.the.succes
1c880 73 6f 72 73 20 6f 66 20 56 45 43 20 69 6e 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 0a 6f 72 64 sors.of.VEC.in.lexicographic.ord
1c8a0 65 72 2e 20 20 45 61 63 68 20 72 65 74 75 72 6e 65 64 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 69 er...Each.returned.permutation.i
1c8c0 73 20 61 20 6c 69 73 74 2e 20 20 56 45 43 20 73 68 6f 75 6c 64 20 63 6f 6d 70 72 69 73 65 0a 6f s.a.list...VEC.should.comprise.o
1c8e0 6e 65 20 6f 72 20 6d 6f 72 65 20 6e 75 6d 62 65 72 73 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 64 ne.or.more.numbers,.and.may.be.d
1c900 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f 64 69 66 69 65 64 2e 0a 0a 49 66 20 4f 52 49 47 49 estructively.modified...If.ORIGI
1c920 4e 41 4c 20 69 73 20 61 20 76 65 63 74 6f 72 2c 20 74 68 65 6e 20 56 45 43 20 69 73 20 69 6e 74 NAL.is.a.vector,.then.VEC.is.int
1c940 65 72 70 72 65 74 65 64 20 61 73 20 61 20 73 65 74 20 6f 66 0a 69 6e 64 69 63 65 73 20 69 6e 74 erpreted.as.a.set.of.indices.int
1c960 6f 20 4f 52 49 47 49 4e 41 4c 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 69 o.ORIGINAL...In.this.case,.the.i
1c980 6e 64 69 63 65 73 20 61 72 65 20 70 65 72 6d 75 74 65 64 2c 0a 61 6e 64 20 74 68 65 20 72 65 73 ndices.are.permuted,.and.the.res
1c9a0 75 6c 74 69 6e 67 20 69 6e 64 65 78 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 61 72 65 20 75 73 ulting.index.permutations.are.us
1c9c0 65 64 20 74 6f 20 64 65 72 65 66 65 72 65 6e 63 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4f 52 ed.to.dereference.elements.of.OR
1c9e0 49 47 49 4e 41 4c 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 76 65 IGINAL."...(let.((len.(length.ve
1ca00 63 29 29 20 70 65 72 6d 73 29 0a 20 20 20 20 28 77 68 69 6c 65 20 76 65 63 0a 20 20 20 20 20 20 c)).perms).....(while.vec.......
1ca20 28 70 75 73 68 20 28 69 66 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (push.(if.original..............
1ca40 20 20 20 28 2d 2d 6d 61 70 20 28 61 72 65 66 20 6f 72 69 67 69 6e 61 6c 20 69 74 29 20 76 65 63 ...(--map.(aref.original.it).vec
1ca60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 76 65 63 20 28 29 29 29 )...............(append.vec.()))
1ca80 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 65 72 6d 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 .............perms).......(setq.
1caa0 76 65 63 20 28 64 61 73 68 2d 2d 6e 65 78 74 2d 6c 65 78 2d 70 65 72 6d 20 76 65 63 20 6c 65 6e vec.(dash--next-lex-perm.vec.len
1cac0 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 70 65 72 6d 73 29 29 29 0a 0a 28 64 65 66 ))).....(nreverse.perms)))..(def
1cae0 75 6e 20 64 61 73 68 2d 2d 75 6e 69 71 2d 70 65 72 6d 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 un.dash--uniq-perms.(list)..."Re
1cb00 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 4c turn.a.list.of.permutations.of.L
1cb20 49 53 54 2e 0a 4c 49 53 54 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 69 66 20 61 6c 6c 20 69 IST..LIST.is.treated.as.if.all.i
1cb40 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 64 69 73 74 69 6e 63 74 2e 22 0a 20 20 28 6c 65 ts.elements.are.distinct."...(le
1cb60 74 2a 20 28 28 76 65 63 20 28 76 63 6f 6e 63 61 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 t*.((vec.(vconcat.list))........
1cb80 20 20 28 69 64 78 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 76 65 63 29 29 29 0a 20 20 ..(idxs.(copy-sequence.vec)))...
1cba0 20 20 3b 3b 20 4a 75 73 74 20 63 6f 6e 73 74 72 75 63 74 20 61 20 76 65 63 74 6f 72 20 6f 66 20 ..;;.Just.construct.a.vector.of.
1cbc0 74 68 65 20 6c 69 73 74 27 73 20 69 6e 64 69 63 65 73 20 61 6e 64 20 70 65 72 6d 75 74 65 20 74 the.list's.indices.and.permute.t
1cbe0 68 61 74 2e 0a 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 28 6c 65 6e 67 74 68 20 69 64 78 hat......(dotimes.(i.(length.idx
1cc00 73 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 69 64 78 73 20 69 20 69 29 29 0a 20 20 20 20 28 s)).......(aset.idxs.i.i)).....(
1cc20 64 61 73 68 2d 2d 6c 65 78 2d 70 65 72 6d 73 20 69 64 78 73 20 76 65 63 29 29 29 0a 0a 28 64 65 dash--lex-perms.idxs.vec)))..(de
1cc40 66 75 6e 20 64 61 73 68 2d 2d 6d 75 6c 74 69 2d 70 65 72 6d 73 20 28 6c 69 73 74 20 66 72 65 71 fun.dash--multi-perms.(list.freq
1cc60 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 65 72 6d 75 74 61 74 69 s)..."Return.a.list.of.permutati
1cc80 6f 6e 73 20 6f 66 20 74 68 65 20 6d 75 6c 74 69 73 65 74 20 4c 49 53 54 2e 0a 46 52 45 51 53 20 ons.of.the.multiset.LIST..FREQS.
1cca0 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 6c 69 73 74 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 should.be.an.alist.describing.th
1ccc0 65 20 66 72 65 71 75 65 6e 63 79 20 6f 66 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 0a 69 6e 20 4c e.frequency.of.each.element.in.L
1cce0 49 53 54 2c 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 2d 66 72 65 71 75 65 6e 63 69 65 IST,.as.returned.by.`-frequencie
1cd00 73 27 2e 22 0a 20 20 28 6c 65 74 20 28 3b 3b 20 44 69 73 74 69 6e 63 74 20 69 74 65 6d 73 20 69 s'."...(let.(;;.Distinct.items.i
1cd20 6e 20 60 6c 69 73 74 27 2c 20 61 6b 61 20 74 68 65 20 63 61 72 73 20 6f 66 20 60 66 72 65 71 73 n.`list',.aka.the.cars.of.`freqs
1cd40 27 2e 0a 20 20 20 20 20 20 20 20 28 75 6e 69 71 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 6c '..........(uniq.(make-vector.(l
1cd60 65 6e 67 74 68 20 66 72 65 71 73 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 6e ength.freqs).nil)).........;;.In
1cd80 64 69 63 65 73 20 69 6e 74 6f 20 60 75 6e 69 71 27 2e 0a 20 20 20 20 20 20 20 20 28 69 64 78 73 dices.into.`uniq'..........(idxs
1cda0 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 20 6e 69 6c 29 .(make-vector.(length.list).nil)
1cdc0 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 43 75 72 72 65 6e 74 20 69 6e 64 65 78 20 69 6e 74 6f 20 ).........;;.Current.index.into.
1cde0 60 69 64 78 73 27 2e 0a 20 20 20 20 20 20 20 20 28 69 20 30 29 29 0a 20 20 20 20 28 2d 2d 65 61 `idxs'..........(i.0)).....(--ea
1ce00 63 68 20 66 72 65 71 73 0a 20 20 20 20 20 20 28 61 73 65 74 20 75 6e 69 71 20 69 74 2d 69 6e 64 ch.freqs.......(aset.uniq.it-ind
1ce20 65 78 20 28 63 61 72 20 69 74 29 29 0a 20 20 20 20 20 20 3b 3b 20 50 6f 70 75 6c 61 74 65 20 60 ex.(car.it)).......;;.Populate.`
1ce40 69 64 78 73 27 20 77 69 74 68 20 61 73 20 6d 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 65 61 63 idxs'.with.as.many.copies.of.eac
1ce60 68 20 60 69 74 2d 69 6e 64 65 78 27 20 61 73 0a 20 20 20 20 20 20 3b 3b 20 74 68 65 72 65 20 61 h.`it-index'.as.......;;.there.a
1ce80 72 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 75 70 6c 69 63 61 74 65 73 2e 0a 20 20 20 re.corresponding.duplicates.....
1cea0 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 28 63 64 72 20 69 74 29 29 0a 20 20 20 20 20 20 20 ...(dotimes.(_.(cdr.it))........
1cec0 20 28 61 73 65 74 20 69 64 78 73 20 69 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 .(aset.idxs.i.it-index).........
1cee0 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 29 0a 20 20 20 20 28 64 61 73 68 2d 2d 6c 65 78 (setq.i.(1+.i)))).....(dash--lex
1cf00 2d 70 65 72 6d 73 20 69 64 78 73 20 75 6e 69 71 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 65 72 -perms.idxs.uniq)))..(defun.-per
1cf20 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 64 mutations.(list)..."Return.the.d
1cf40 69 73 74 69 6e 63 74 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 44 istinct.permutations.of.LIST...D
1cf60 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 72 65 20 64 65 uplicate.elements.of.LIST.are.de
1cf80 74 65 72 6d 69 6e 65 64 20 62 79 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 62 79 0a 60 2d 63 6f 6d termined.by.`equal',.or.by.`-com
1cfa0 70 61 72 65 2d 66 6e 27 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 pare-fn'.if.that.is.non-nil."...
1cfc0 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 (declare.(important-return-value
1cfe0 20 74 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 20 28 6c 69 73 74 20 .t))...(cond.((null.list).(list.
1d000 28 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 3a 20 61 20 ())).........;;.Optimization:.a.
1d020 74 72 61 76 65 72 73 61 6c 20 6f 66 20 60 6c 69 73 74 27 20 69 73 20 66 61 73 74 65 72 20 74 68 traversal.of.`list'.is.faster.th
1d040 61 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 72 6f 75 6e 64 20 74 72 69 70 20 76 69 61 an.the.........;;.round.trip.via
1d060 20 60 64 61 73 68 2d 2d 75 6e 69 71 2d 70 65 72 6d 73 27 20 6f 72 20 60 64 61 73 68 2d 2d 6d 75 .`dash--uniq-perms'.or.`dash--mu
1d080 6c 74 69 2d 70 65 72 6d 73 27 2e 0a 20 20 20 20 20 20 20 20 28 28 64 61 73 68 2d 2d 6e 75 6d 62 lti-perms'..........((dash--numb
1d0a0 65 72 73 3c 3d 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6c 65 78 2d ers<=.list)..........(dash--lex-
1d0c0 70 65 72 6d 73 20 28 76 63 6f 6e 63 61 74 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 perms.(vconcat.list))).........(
1d0e0 28 6c 65 74 20 28 28 66 72 65 71 73 20 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 6c 69 73 74 29 (let.((freqs.(-frequencies.list)
1d100 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 73 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 ))............;;.Is.each.element
1d120 20 64 69 73 74 69 6e 63 74 3f 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 2d .distinct?............(unless.(-
1d140 2d 65 76 65 72 79 20 28 3d 20 28 63 64 72 20 69 74 29 20 31 29 20 66 72 65 71 73 29 0a 20 20 20 -every.(=.(cdr.it).1).freqs)....
1d160 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 75 6c 74 69 2d 70 65 72 6d 73 20 6c 69 73 ..........(dash--multi-perms.lis
1d180 74 20 66 72 65 71 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 64 61 73 68 2d 2d 75 6e 69 71 t.freqs)))).........((dash--uniq
1d1a0 2d 70 65 72 6d 73 20 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 69 74 73 20 28 -perms.list))))..(defun.-inits.(
1d1c0 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 list)..."Return.all.prefixes.of.
1d1e0 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 LIST."...(declare.(pure.t).(side
1d200 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 6c -effect-free.t))...(let.((res.(l
1d220 69 73 74 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 72 65 76 65 ist.list))).....(setq.list.(reve
1d240 72 73 65 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 rse.list)).....(while.list......
1d260 20 28 70 75 73 68 20 28 72 65 76 65 72 73 65 20 28 21 63 64 72 20 6c 69 73 74 29 29 20 72 65 73 .(push.(reverse.(!cdr.list)).res
1d280 29 29 0a 20 20 20 20 72 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 69 6c 73 20 28 6c 69 73 )).....res))..(defun.-tails.(lis
1d2a0 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 t)..."Return.all.suffixes.of.LIS
1d2c0 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 T."...(declare.(pure.t).(side-ef
1d2e0 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 fect-free.t))...(-reductions-r-f
1d300 72 6f 6d 20 23 27 63 6f 6e 73 20 6e 69 6c 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 rom.#'cons.nil.list))..(defun.-c
1d320 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 ommon-prefix.(&rest.lists)..."Re
1d340 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f turn.the.longest.common.prefix.o
1d360 66 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 f.LISTS."...(declare.(pure.t).(s
1d380 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 ide-effect-free.t))...(--reduce.
1d3a0 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 61 6e 64 20 61 63 63 20 28 65 71 75 61 6c 20 28 70 (--take-while.(and.acc.(equal.(p
1d3c0 6f 70 20 61 63 63 29 20 69 74 29 29 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 op.acc).it)).it).............lis
1d3e0 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 ts))..(defun.-common-suffix.(&re
1d400 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 st.lists)..."Return.the.longest.
1d420 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c common.suffix.of.LISTS."...(decl
1d440 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 are.(pure.t).(side-effect-free.t
1d460 29 29 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 61 70 70 6c 79 20 23 27 2d 63 6f 6d 6d 6f 6e 2d ))...(nreverse.(apply.#'-common-
1d480 70 72 65 66 69 78 20 28 6d 61 70 63 61 72 20 23 27 72 65 76 65 72 73 65 20 6c 69 73 74 73 29 29 prefix.(mapcar.#'reverse.lists))
1d4a0 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 6c 69 73 74 20 65 6c 65 6d ))..(defun.-contains?.(list.elem
1d4c0 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 ent)..."Return.non-nil.if.LIST.c
1d4e0 6f 6e 74 61 69 6e 73 20 45 4c 45 4d 45 4e 54 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 ontains.ELEMENT...The.test.for.e
1d500 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 quality.is.done.with.`equal',.or
1d520 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e .with.`-compare-fn'.if.that.is.n
1d540 6f 6e 2d 6e 69 6c 2e 20 20 41 73 20 77 69 74 68 20 60 6d 65 6d 62 65 72 27 2c 20 74 68 65 20 72 on-nil...As.with.`member',.the.r
1d560 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 61 63 74 75 61 6c 6c 79 20 74 68 65 20 74 61 69 6c eturn.value.is.actually.the.tail
1d580 20 6f 66 20 4c 49 53 54 20 77 68 6f 73 65 20 63 61 72 20 69 73 20 45 4c 45 4d 45 4e 54 2e 0a 0a .of.LIST.whose.car.is.ELEMENT...
1d5a0 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 61 69 6e 73 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 Alias:.`-contains-p'."...(declar
1d5c0 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 e.(important-return-value.t))...
1d5e0 28 66 75 6e 63 61 6c 6c 20 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 20 65 6c 65 6d 65 (funcall.(dash--member-fn).eleme
1d600 6e 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 63 6f 6e 74 61 69 6e 73 2d nt.list))..(defalias.'-contains-
1d620 70 20 23 27 2d 63 6f 6e 74 61 69 6e 73 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 p.#'-contains?)..(defun.-same-it
1d640 65 6d 73 3f 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e ems?.(list1.list2)..."Return.non
1d660 2d 6e 69 6c 20 69 66 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 68 61 76 65 20 74 68 65 -nil.if.LIST1.and.LIST2.have.the
1d680 20 73 61 6d 65 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 65 20 6f 72 .same.distinct.elements...The.or
1d6a0 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 6c 69 73 74 73 der.of.the.elements.in.the.lists
1d6c0 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 20 20 54 68 65 0a 6c 69 73 74 73 20 6d 61 79 .does.not.matter...The.lists.may
1d6e0 20 62 65 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 6c 65 6e 67 74 68 73 2c 20 69 2e 65 2e 2c 20 .be.of.different.lengths,.i.e.,.
1d700 63 6f 6e 74 61 69 6e 20 64 75 70 6c 69 63 61 74 65 0a 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 65 contain.duplicate.elements...The
1d720 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 .test.for.equality.is.done.with.
1d740 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 0a 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 `equal',.or.with.`-compare-fn'.i
1d760 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 73 61 6d f.that.is.non-nil...Alias:.`-sam
1d780 65 2d 69 74 65 6d 73 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 e-items-p'."...(declare.(importa
1d7a0 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 nt-return-value.t))...(let.(test
1d7c0 20 6c 65 6e 31 20 6c 65 6e 32 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 28 6f 72 .len1.len2).....(cond.((null.(or
1d7e0 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c .list1.list2)))...........((null
1d800 20 28 61 6e 64 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 .(and.list1.list2)).nil)........
1d820 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f 6d 70 ...;;.Use.a.hash.table.if.`-comp
1d840 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 are-fn'.is.a.known.hash.table...
1d860 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 65 69 74 ........;;.test.function.and.eit
1d880 68 65 72 20 6c 69 73 74 20 69 73 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 her.list.is.long.enough.........
1d8a0 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d ...((and.(setq.test.(dash--hash-
1d8c0 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 test-fn)).................(setq.
1d8e0 6c 65 6e 31 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 len1.(length.list1))............
1d900 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 32 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 0a .....(setq.len2.(length.list2)).
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 6d 61 78 20 6c 65 6e 31 20 6c 65 6e ................(>.(max.len1.len
1d940 32 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 2).dash--short-list-length))....
1d960 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 74 31 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 ........(let.((ht1.(make-hash-ta
1d980 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 31 29 29 0a 20 20 20 20 ble.:test.test.:size.len1)).....
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 32 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 .............(ht2.(make-hash-tab
1d9c0 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 32 29 29 29 0a 20 20 20 20 le.:test.test.:size.len2))).....
1d9e0 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 31 20 28 70 75 74 68 61 73 68 20 .........(--each.list1.(puthash.
1da00 69 74 20 74 20 68 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 6f 76 65 20 it.t.ht1))..............;;.Move.
1da20 76 69 73 69 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 68 74 31 27 20 74 6f 20 60 visited.elements.from.`ht1'.to.`
1da40 68 74 32 27 2e 20 20 54 68 69 73 20 77 61 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ht2'...This.way,..............;;
1da60 20 69 66 20 76 69 73 69 74 69 6e 67 20 61 6c 6c 20 6f 66 20 60 6c 69 73 74 32 27 20 6c 65 61 76 .if.visiting.all.of.`list2'.leav
1da80 65 73 20 60 68 74 31 27 20 65 6d 70 74 79 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 es.`ht1'.empty,.then............
1daa0 20 20 3b 3b 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 62 6f 74 68 20 6c 69 73 74 ..;;.all.elements.from.both.list
1dac0 73 20 68 61 76 65 20 62 65 65 6e 20 61 63 63 6f 75 6e 74 65 64 20 66 6f 72 2e 0a 20 20 20 20 20 s.have.been.accounted.for.......
1dae0 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 2d 2d 65 76 65 72 79 20 28 63 6f 6e 64 20 28 28 67 65 ........(and.(--every.(cond.((ge
1db00 74 68 61 73 68 20 69 74 20 68 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 thash.it.ht1)...................
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 68 61 73 68 20 69 74 20 68 74 31 29 ................(remhash.it.ht1)
1db40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1db60 20 20 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 ...(puthash.it.t.ht2))..........
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 67 65 74 68 61 73 ........................((gethas
1dba0 68 20 69 74 20 68 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.it.ht2))).....................
1dbc0 20 20 20 20 20 20 20 6c 69 73 74 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......list2)...................
1dbe0 28 7a 65 72 6f 70 20 28 68 61 73 68 2d 74 61 62 6c 65 2d 63 6f 75 6e 74 20 68 74 31 29 29 29 29 (zerop.(hash-table-count.ht1))))
1dc00 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 28 64 61 73 68 )...........((let.((member.(dash
1dc20 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 --member-fn)))..............(and
1dc40 20 28 2d 2d 61 6c 6c 3f 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 6c 69 73 74 .(--all?.(funcall.member.it.list
1dc60 32 29 20 6c 69 73 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 61 2).list1)...................(--a
1dc80 6c 6c 3f 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 6c 69 73 74 31 29 20 6c 69 ll?.(funcall.member.it.list1).li
1dca0 73 74 32 29 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 61 6d 65 2d 69 74 65 st2)))))))..(defalias.'-same-ite
1dcc0 6d 73 2d 70 20 23 27 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 69 73 ms-p.#'-same-items?)..(defun.-is
1dce0 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e -prefix?.(prefix.list)..."Return
1dd00 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 46 49 58 20 69 73 20 61 20 70 72 65 66 69 78 20 6f .non-nil.if.PREFIX.is.a.prefix.o
1dd20 66 20 4c 49 53 54 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 70 72 65 66 69 78 2d 70 27 2e 22 f.LIST...Alias:.`-is-prefix-p'."
1dd40 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
1dd60 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 t-free.t))...(--each-while.list.
1dd80 28 61 6e 64 20 28 65 71 75 61 6c 20 28 63 61 72 20 70 72 65 66 69 78 29 20 69 74 29 0a 20 20 20 (and.(equal.(car.prefix).it)....
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 20 70 72 65 .......................(!cdr.pre
1ddc0 66 69 78 29 29 29 0a 20 20 28 6e 75 6c 6c 20 70 72 65 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 fix)))...(null.prefix))..(defun.
1dde0 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 -is-suffix?.(suffix.list)..."Ret
1de00 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 55 46 46 49 58 20 69 73 20 61 20 73 75 66 66 69 urn.non-nil.if.SUFFIX.is.a.suffi
1de20 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 x.of.LIST...Alias:.`-is-suffix-p
1de40 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 '."...(declare.(pure.t).(side-ef
1de60 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 65 71 75 61 6c 20 73 75 66 66 69 78 20 28 6c fect-free.t))...(equal.suffix.(l
1de80 61 73 74 20 6c 69 73 74 20 28 6c 65 6e 67 74 68 20 73 75 66 66 69 78 29 29 29 29 0a 0a 28 64 65 ast.list.(length.suffix))))..(de
1dea0 66 75 6e 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 20 6c 69 73 74 29 0a 20 20 22 52 fun.-is-infix?.(infix.list)..."R
1dec0 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 49 4e 46 49 58 20 69 73 20 69 6e 66 69 78 20 eturn.non-nil.if.INFIX.is.infix.
1dee0 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e of.LIST...This.operation.runs.in
1df00 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 69 6e 66 69 78 2d .O(n^2).time..Alias:.`-is-infix-
1df20 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 p'"...(declare.(pure.t).(side-ef
1df40 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 64 6f 6e 65 29 0a 20 20 20 20 fect-free.t))...(let.(done).....
1df60 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 20 6c 69 73 74 29 0a 20 20 20 (while.(and.(not.done).list)....
1df80 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 69 6e 66 69 78 ...(setq.done.(-is-prefix?.infix
1dfa0 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 64 .list)).......(!cdr.list)).....d
1dfc0 6f 6e 65 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 69 73 2d 70 72 65 66 69 78 2d 70 20 27 one))..(defalias.'-is-prefix-p.'
1dfe0 2d 69 73 2d 70 72 65 66 69 78 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 69 73 2d 73 75 66 66 -is-prefix?).(defalias.'-is-suff
1e000 69 78 2d 70 20 27 2d 69 73 2d 73 75 66 66 69 78 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 69 ix-p.'-is-suffix?).(defalias.'-i
1e020 73 2d 69 6e 66 69 78 2d 70 20 27 2d 69 73 2d 69 6e 66 69 78 3f 29 0a 0a 28 64 65 66 75 6e 20 2d s-infix-p.'-is-infix?)..(defun.-
1e040 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 53 6f 72 74 20 4c sort.(comparator.list)..."Sort.L
1e060 49 53 54 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 IST,.stably,.comparing.elements.
1e080 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6f 72 using.COMPARATOR..Return.the.sor
1e0a0 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 69 73 20 4e 4f 54 20 6d 6f 64 69 66 69 65 64 20 ted.list...LIST.is.NOT.modified.
1e0c0 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 43 4f 4d 50 41 52 41 54 4f 52 20 69 73 20 63 by.side.effects..COMPARATOR.is.c
1e0e0 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c alled.with.two.elements.of.LIST,
1e100 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 0a 69 66 20 74 68 .and.should.return.non-nil.if.th
1e120 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f e.first.element.should.sort.befo
1e140 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f re.the.second."...(declare.(impo
1e160 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 73 74 61 74 69 63 rtant-return-value.t))...(static
1e180 2d 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 73 6f 72 74 20 5b 5d -if.(condition-case.nil.(sort.[]
1e1a0 29 20 28 77 72 6f 6e 67 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 6d 65 6e 74 73 29 29 0a 20 ).(wrong-number-of-arguments))..
1e1c0 20 20 20 20 20 3b 3b 20 53 69 6e 63 65 20 45 6d 61 63 73 20 33 30 2e 0a 20 20 20 20 20 20 28 73 .....;;.Since.Emacs.30........(s
1e1e0 6f 72 74 20 6c 69 73 74 20 3a 6c 65 73 73 70 20 63 6f 6d 70 61 72 61 74 6f 72 29 0a 20 20 20 20 ort.list.:lessp.comparator).....
1e200 28 73 6f 72 74 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 29 20 63 6f 6d 70 61 (sort.(copy-sequence.list).compa
1e220 72 61 74 6f 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 6f 72 74 20 28 66 6f 72 6d rator)))..(defmacro.--sort.(form
1e240 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 6f .list)..."Anaphoric.form.of.`-so
1e260 72 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 rt'."...(declare.(debug.(def-for
1e280 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 74 20 m.form)))...`(-sort.(lambda.(it.
1e2a0 6f 74 68 65 72 29 20 28 69 67 6e 6f 72 65 20 69 74 20 6f 74 68 65 72 29 20 2c 66 6f 72 6d 29 20 other).(ignore.it.other).,form).
1e2c0 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 69 73 74 20 28 26 6f 70 74 69 6f 6e 61 6c ,list))..(defun.-list.(&optional
1e2e0 20 61 72 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 45 6e 73 75 72 65 20 41 52 47 20 69 .arg.&rest.args)..."Ensure.ARG.i
1e300 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 41 52 47 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 s.a.list..If.ARG.is.already.a.li
1e320 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 st,.return.it.as.is.(not.a.copy)
1e340 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 ..Otherwise,.return.a.new.list.w
1e360 69 74 68 20 41 52 47 20 61 73 20 69 74 73 20 6f 6e 6c 79 20 65 6c 65 6d 65 6e 74 2e 0a 0a 41 6e ith.ARG.as.its.only.element...An
1e380 6f 74 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 other.supported.calling.conventi
1e3a0 6f 6e 20 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 2e 0a 49 6e 20 74 68 69 on.is.(-list.&rest.ARGS)..In.thi
1e3c0 73 20 63 61 73 65 2c 20 69 66 20 41 52 47 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 s.case,.if.ARG.is.not.a.list,.a.
1e3e0 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 41 52 47 53 20 61 73 20 65 6c 65 new.list.with.all.of.ARGS.as.ele
1e400 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 ments.is.returned...This.use.is.
1e420 73 75 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 supported.for.backward.compatibi
1e440 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 lity.and.is.otherwise.deprecated
1e460 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 61 64 76 65 72 74 69 73 65 64 2d 63 61 6c 6c 69 6e ."...(declare.(advertised-callin
1e480 67 2d 63 6f 6e 76 65 6e 74 69 6f 6e 20 28 61 72 67 29 20 22 32 2e 31 38 2e 30 22 29 0a 20 20 20 g-convention.(arg)."2.18.0")....
1e4a0 20 20 20 20 20 20 20 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 ........(pure.t).(side-effect-fr
1e4c0 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 69 66 20 28 6c 69 73 74 70 20 61 72 67 ee.error-free))...(if.(listp.arg
1e4e0 29 20 61 72 67 20 28 63 6f 6e 73 20 61 72 67 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 ).arg.(cons.arg.args)))..(defun.
1e500 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 -repeat.(n.x)..."Return.a.new.li
1e520 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 77 69 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 st.of.length.N.with.each.element
1e540 20 62 65 69 6e 67 20 58 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 6c 65 73 .being.X..Return.nil.if.N.is.les
1e560 73 20 74 68 61 6e 20 31 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 s.than.1."...(declare.(side-effe
1e580 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 6e 64 20 28 3e 3d 20 6e 20 30 29 20 28 6d 61 6b ct-free.t))...(and.(>=.n.0).(mak
1e5a0 65 2d 6c 69 73 74 20 6e 20 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 75 6d 20 28 6c 69 73 74 e-list.n.x)))..(defun.-sum.(list
1e5c0 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 )..."Return.the.sum.of.LIST."...
1e5e0 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 (declare.(pure.t).(side-effect-f
1e600 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 2b 20 6c 69 73 74 29 29 0a 0a 28 64 65 ree.t))...(apply.#'+.list))..(de
1e620 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 fun.-running-sum.(list)..."Retur
1e640 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 n.a.list.with.running.sums.of.it
1e660 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 4c 49 53 54 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d ems.in.LIST..LIST.must.be.non-em
1e680 70 74 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d pty."...(declare.(pure.t).(side-
1e6a0 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6f 72 20 6c 69 73 74 20 28 73 69 67 6e effect-free.t))...(or.list.(sign
1e6c0 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 al.'wrong-type-argument.(list.#'
1e6e0 63 6f 6e 73 70 20 6c 69 73 74 29 29 29 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b consp.list)))...(-reductions.#'+
1e700 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a .list))..(defun.-product.(list).
1e720 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 54 2e 22 0a .."Return.the.product.of.LIST.".
1e740 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 ..(declare.(pure.t).(side-effect
1e760 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 2a 20 6c 69 73 74 29 29 0a 0a 28 -free.t))...(apply.#'*.list))..(
1e780 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 defun.-running-product.(list)...
1e7a0 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f 64 "Return.a.list.with.running.prod
1e7c0 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 4c 49 53 54 20 6d 75 73 74 ucts.of.items.in.LIST..LIST.must
1e7e0 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 .be.non-empty."...(declare.(pure
1e800 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6f 72 20 .t).(side-effect-free.t))...(or.
1e820 6c 69 73 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e list.(signal.'wrong-type-argumen
1e840 74 20 28 6c 69 73 74 20 23 27 63 6f 6e 73 70 20 6c 69 73 74 29 29 29 0a 20 20 28 2d 72 65 64 75 t.(list.#'consp.list)))...(-redu
1e860 63 74 69 6f 6e 73 20 23 27 2a 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 78 20 28 ctions.#'*.list))..(defun.-max.(
1e880 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c 75 list)..."Return.the.largest.valu
1e8a0 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 e.from.LIST.of.numbers.or.marker
1e8c0 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 s."...(declare.(pure.t).(side-ef
1e8e0 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 6d 61 78 20 6c 69 73 fect-free.t))...(apply.#'max.lis
1e900 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 t))..(defun.-min.(list)..."Retur
1e920 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f n.the.smallest.value.from.LIST.o
1e940 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 f.numbers.or.markers."...(declar
1e960 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 e.(pure.t).(side-effect-free.t))
1e980 0a 20 20 28 61 70 70 6c 79 20 23 27 6d 69 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d ...(apply.#'min.list))..(defun.-
1e9a0 6d 61 78 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 max-by.(comparator.list)..."Take
1e9c0 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f .a.comparison.function.COMPARATO
1e9e0 52 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 R.and.a.LIST.and.return.the.grea
1ea00 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 test.element.of.the.list.by.the.
1ea20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 comparison.function...See.also.c
1ea40 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 6f 6e 27 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 ombinator.`-on'.which.can.transf
1ea60 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 orm.the.values.before.comparing.
1ea80 74 68 65 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 them."...(declare.(important-ret
1eaa0 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 69 66 20 28 66 urn-value.t))...(--reduce.(if.(f
1eac0 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 69 74 20 61 63 63 29 20 69 74 20 61 63 63 uncall.comparator.it.acc).it.acc
1eae0 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 ).list))..(defun.-min-by.(compar
1eb00 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 ator.list)..."Take.a.comparison.
1eb20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 20 61 function.COMPARATOR.and.a.LIST.a
1eb40 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 nd.return.the.least.element.of.t
1eb60 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 he.list.by.the.comparison.functi
1eb80 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 6f 6e 27 20 77 on...See.also.combinator.`-on'.w
1eba0 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 hich.can.transform.the.values.be
1ebc0 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 fore.comparing.them."...(declare
1ebe0 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 .(important-return-value.t))...(
1ec00 2d 2d 72 65 64 75 63 65 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 --reduce.(if.(funcall.comparator
1ec20 20 69 74 20 61 63 63 29 20 61 63 63 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 .it.acc).acc.it).list))..(defmac
1ec40 72 6f 20 2d 2d 6d 61 78 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 ro.--max-by.(form.list)..."Anaph
1ec60 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 6d 61 78 2d 62 79 27 2e 0a 0a 54 68 65 20 oric.version.of.`-max-by'...The.
1ec80 69 74 65 6d 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 70 61 72 61 74 6f 72 20 66 6f 72 6d 20 61 72 items.for.the.comparator.form.ar
1eca0 65 20 65 78 70 6f 73 65 64 20 61 73 20 5c 22 69 74 5c 22 20 61 6e 64 20 5c 22 6f 74 68 65 72 5c e.exposed.as.\"it\".and.\"other\
1ecc0 22 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 "."...(declare.(debug.(def-form.
1ece0 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 6d 61 78 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 69 74 20 form)))...`(-max-by.(lambda.(it.
1ed00 6f 74 68 65 72 29 20 28 69 67 6e 6f 72 65 20 69 74 20 6f 74 68 65 72 29 20 2c 66 6f 72 6d 29 20 other).(ignore.it.other).,form).
1ed20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 69 6e 2d 62 79 20 28 66 6f 72 ,list))..(defmacro.--min-by.(for
1ed40 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 m.list)..."Anaphoric.version.of.
1ed60 60 2d 6d 69 6e 2d 62 79 27 2e 0a 0a 54 68 65 20 69 74 65 6d 73 20 66 6f 72 20 74 68 65 20 63 6f `-min-by'...The.items.for.the.co
1ed80 6d 70 61 72 61 74 6f 72 20 66 6f 72 6d 20 61 72 65 20 65 78 70 6f 73 65 64 20 61 73 20 5c 22 69 mparator.form.are.exposed.as.\"i
1eda0 74 5c 22 20 61 6e 64 20 5c 22 6f 74 68 65 72 5c 22 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 t\".and.\"other\"."...(declare.(
1edc0 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 6d 69 6e debug.(def-form.form)))...`(-min
1ede0 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 28 69 67 6e 6f 72 65 20 69 -by.(lambda.(it.other).(ignore.i
1ee00 74 20 6f 74 68 65 72 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 t.other).,form).,list))..(defun.
1ee20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 -iota.(count.&optional.start.ste
1ee40 70 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 43 p)..."Return.a.list.containing.C
1ee60 4f 55 4e 54 20 6e 75 6d 62 65 72 73 2e 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 53 54 41 52 54 20 OUNT.numbers..Starts.from.START.
1ee80 61 6e 64 20 61 64 64 73 20 53 54 45 50 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 and.adds.STEP.each.time...The.de
1eea0 66 61 75 6c 74 20 53 54 41 52 54 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 fault.START.is.zero,.the.default
1eec0 20 53 54 45 50 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 .STEP.is.1..This.function.takes.
1eee0 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 its.name.from.the.corresponding.
1ef00 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 61 67 65 2e 22 0a primitive.in.the.APL.language.".
1ef20 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 ..(declare.(side-effect-free.t))
1ef40 0a 20 20 28 75 6e 6c 65 73 73 20 28 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 0a 20 20 20 20 28 ...(unless.(natnump.count).....(
1ef60 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 signal.'wrong-type-argument.(lis
1ef80 74 20 23 27 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 29 29 0a 20 20 28 6f 72 20 73 74 61 72 74 t.#'natnump.count)))...(or.start
1efa0 20 28 73 65 74 71 20 73 74 61 72 74 20 30 29 29 0a 20 20 28 6f 72 20 73 74 65 70 20 28 73 65 74 .(setq.start.0))...(or.step.(set
1efc0 71 20 73 74 65 70 20 31 29 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 65 70 29 0a 20 20 q.step.1))...(if.(zerop.step)...
1efe0 20 20 20 20 28 6d 61 6b 65 2d 6c 69 73 74 20 63 6f 75 6e 74 20 73 74 61 72 74 29 0a 20 20 20 20 ....(make-list.count.start).....
1f000 28 2d 2d 69 74 65 72 61 74 65 20 28 2b 20 69 74 20 73 74 65 70 29 20 73 74 61 72 74 20 63 6f 75 (--iterate.(+.it.step).start.cou
1f020 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 nt)))..(defun.-fix.(fn.list)..."
1f040 43 6f 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 Compute.the.(least).fixpoint.of.
1f060 46 4e 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 46 4e 20 FN.with.initial.input.LIST...FN.
1f080 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 is.called.at.least.once,.results
1f0a0 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 .are.compared.with.`equal'."...(
1f0c0 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 declare.(important-return-value.
1f0e0 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 6c 69 73 74 t))...(let.((re.(funcall.fn.list
1f100 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 6c 69 73 74 20 ))).....(while.(not.(equal.list.
1f120 72 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 72 65 29 0a 20 20 20 20 20 20 re)).......(setq.list.re).......
1f140 28 73 65 74 71 20 72 65 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 72 65 29 29 29 0a 20 20 20 20 72 (setq.re.(funcall.fn.re))).....r
1f160 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 e))..(defmacro.--fix.(form.list)
1f180 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 66 69 78 27 2e 22 0a 20 ..."Anaphoric.form.of.`-fix'."..
1f1a0 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 .(declare.(debug.(def-form.form)
1f1c0 29 29 0a 20 20 60 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 ))...`(-fix.(lambda.(it).(ignore
1f1e0 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 66 .it).,form).,list))..(defun.-unf
1f200 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 22 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 old.(fun.seed)..."Build.a.list.f
1f220 72 6f 6d 20 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a 54 68 69 73 20 69 73 20 5c 22 64 rom.SEED.using.FUN...This.is.\"d
1f240 75 61 6c 5c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 3a 20 ual\".operation.to.`-reduce-r':.
1f260 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 while.-reduce-r.consumes.a.list.
1f280 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 60 2d 75 6e 66 to.produce.a.single.value,.`-unf
1f2a0 6f 6c 64 27 20 74 61 6b 65 73 20 61 0a 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c old'.takes.a.seed.value.and.buil
1f2c0 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 21 29 20 6c 69 73 ds.a.(potentially.infinite!).lis
1f2e0 74 2e 0a 0a 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 69 6c 20 74 6f 20 73 74 6f t...FUN.should.return.nil.to.sto
1f300 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 p.the.generating.process,.or.a.c
1f320 6f 6e 73 20 28 41 20 2e 20 42 29 2c 20 77 68 65 72 65 20 41 20 77 69 6c 6c 20 62 65 20 70 72 65 ons.(A...B),.where.A.will.be.pre
1f340 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 42 20 69 73 0a 74 68 pended.to.the.result.and.B.is.th
1f360 65 20 6e 65 77 20 73 65 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 e.new.seed."...(declare.(importa
1f380 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 61 73 nt-return-value.t))...(let.((las
1f3a0 74 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 73 65 65 64 29 29 20 72 29 0a 20 20 20 20 28 77 68 t.(funcall.fun.seed)).r).....(wh
1f3c0 69 6c 65 20 6c 61 73 74 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 61 73 74 29 20 ile.last.......(push.(car.last).
1f3e0 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e r).......(setq.last.(funcall.fun
1f400 20 28 63 64 72 20 6c 61 73 74 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 .(cdr.last)))).....(nreverse.r))
1f420 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 75 6e 66 6f 6c 64 20 28 66 6f 72 6d 20 73 65 65 64 )..(defmacro.--unfold.(form.seed
1f440 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 75 6e 66 6f )..."Anaphoric.version.of.`-unfo
1f460 6c 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 ld'."...(declare.(debug.(def-for
1f480 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 69 m.form)))...`(-unfold.(lambda.(i
1f4a0 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 73 65 65 64 29 29 0a 0a 28 t).(ignore.it).,form).,seed))..(
1f4c0 64 65 66 75 6e 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a 29 0a 20 20 22 52 65 74 75 72 defun.-cons-pair?.(obj)..."Retur
1f4e0 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4f 42 4a 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 n.non-nil.if.OBJ.is.a.true.cons.
1f500 70 61 69 72 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 63 6f 6e 73 20 28 41 20 2e 20 42 29 20 77 68 pair..That.is,.a.cons.(A...B).wh
1f520 65 72 65 20 42 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 ere.B.is.not.a.list...Alias:.`-c
1f540 6f 6e 73 2d 70 61 69 72 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 ons-pair-p'."...(declare.(pure.t
1f560 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 ).(side-effect-free.error-free))
1f580 0a 20 20 28 6e 6c 69 73 74 70 20 28 63 64 72 2d 73 61 66 65 20 6f 62 6a 29 29 29 0a 0a 28 64 65 ...(nlistp.(cdr-safe.obj)))..(de
1f5a0 66 61 6c 69 61 73 20 27 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 20 27 2d 63 6f 6e 73 2d 70 61 69 72 falias.'-cons-pair-p.'-cons-pair
1f5c0 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 73 2d 74 6f 2d 6c 69 73 74 20 28 63 6f 6e 29 0a 20 ?)..(defun.-cons-to-list.(con)..
1f5e0 20 22 43 6f 6e 76 65 72 74 20 61 20 63 6f 6e 73 20 70 61 69 72 20 74 6f 20 61 20 6c 69 73 74 20 ."Convert.a.cons.pair.to.a.list.
1f600 77 69 74 68 20 60 63 61 72 27 20 61 6e 64 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 70 61 69 72 with.`car'.and.`cdr'.of.the.pair
1f620 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 .respectively."...(declare.(pure
1f640 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 69 73 .t).(side-effect-free.t))...(lis
1f660 74 20 28 63 61 72 20 63 6f 6e 29 20 28 63 64 72 20 63 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 t.(car.con).(cdr.con)))..(defun.
1f680 2d 76 61 6c 75 65 2d 74 6f 2d 6c 69 73 74 20 28 76 61 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 -value-to-list.(val)..."Convert.
1f6a0 61 20 76 61 6c 75 65 20 74 6f 20 61 20 6c 69 73 74 2e 0a 0a 49 66 20 74 68 65 20 76 61 6c 75 65 a.value.to.a.list...If.the.value
1f6c0 20 69 73 20 61 20 63 6f 6e 73 20 70 61 69 72 2c 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 77 69 74 .is.a.cons.pair,.make.a.list.wit
1f6e0 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2c 20 60 63 61 72 27 0a 61 6e 64 20 60 63 64 72 27 20 h.two.elements,.`car'.and.`cdr'.
1f700 6f 66 20 74 68 65 20 70 61 69 72 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 0a 49 66 20 74 68 of.the.pair.respectively...If.th
1f720 65 20 76 61 6c 75 65 20 69 73 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 77 72 61 70 20 69 e.value.is.anything.else,.wrap.i
1f740 74 20 69 6e 20 61 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 t.in.a.list."...(declare.(pure.t
1f760 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 2d ).(side-effect-free.t))...(if.(-
1f780 63 6f 6e 73 2d 70 61 69 72 3f 20 76 61 6c 29 20 28 2d 63 6f 6e 73 2d 74 6f 2d 6c 69 73 74 20 76 cons-pair?.val).(-cons-to-list.v
1f7a0 61 6c 29 20 28 6c 69 73 74 20 76 61 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d al).(list.val)))..(defun.-tree-m
1f7c0 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 apreduce-from.(fn.folder.init-va
1f7e0 6c 75 65 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c lue.tree)..."Apply.FN.to.each.el
1f800 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f ement.of.TREE,.and.make.a.list.o
1f820 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 f.the.results..If.elements.of.TR
1f840 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 EE.are.lists.themselves,.apply.F
1f860 4e 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 N.recursively.to.elements.of.the
1f880 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 se.nested.lists...Then.reduce.th
1f8a0 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 e.resulting.lists.using.FOLDER.a
1f8c0 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 49 4e 49 54 2d 56 41 4c 55 45 2e 20 53 65 65 nd.initial.value.INIT-VALUE..See
1f8e0 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 .`-reduce-r-from'...This.is.the.
1f900 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 same.as.calling.`-tree-reduce-fr
1f920 6f 6d 27 20 61 66 74 65 72 20 60 2d 74 72 65 65 2d 6d 61 70 27 0a 62 75 74 20 69 73 20 74 77 69 om'.after.`-tree-map'.but.is.twi
1f940 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 ce.as.fast.as.it.only.traverse.t
1f960 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 he.structure.once."...(declare.(
1f980 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f important-return-value.t))...(co
1f9a0 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e nd....((null.tree).())....((-con
1f9c0 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 s-pair?.tree).(funcall.fn.tree))
1f9e0 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 ....((consp.tree).....(-reduce-r
1fa00 2d 66 72 6f 6d 0a 20 20 20 20 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 0a 20 20 20 -from......folder.init-value....
1fa20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 ..(mapcar.(lambda.(x).(-tree-map
1fa40 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 reduce-from.fn.folder.init-value
1fa60 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 .x)).tree)))....((funcall.fn.tre
1fa80 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 e))))..(defmacro.--tree-mapreduc
1faa0 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 e-from.(form.folder.init-value.t
1fac0 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 ree)..."Anaphoric.form.of.`-tree
1fae0 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 -mapreduce-from'."...(declare.(d
1fb00 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 ebug.(def-form.def-form.form.for
1fb20 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c m)))...`(-tree-mapreduce-from.(l
1fb40 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 0a 20 20 ambda.(it).(ignore.it).,form)...
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 .......................(lambda.(
1fb80 69 74 20 61 63 63 29 20 28 69 67 6e 6f 72 65 20 69 74 20 61 63 63 29 20 2c 66 6f 6c 64 65 72 29 it.acc).(ignore.it.acc).,folder)
1fba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 69 6e 69 74 2d ..........................,init-
1fbc0 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c value..........................,
1fbe0 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 tree))..(defun.-tree-mapreduce.(
1fc00 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 fn.folder.tree)..."Apply.FN.to.e
1fc20 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 ach.element.of.TREE,.and.make.a.
1fc40 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 list.of.the.results..If.elements
1fc60 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 .of.TREE.are.lists.themselves,.a
1fc80 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 pply.FN.recursively.to.elements.
1fca0 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 of.these.nested.lists...Then.red
1fcc0 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f uce.the.resulting.lists.using.FO
1fce0 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 49 4e 49 54 2d 56 41 4c 55 LDER.and.initial.value.INIT-VALU
1fd00 45 2e 20 53 65 65 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 54 68 69 73 20 69 E..See.`-reduce-r-from'...This.i
1fd20 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 60 2d 74 72 65 65 2d 72 65 64 s.the.same.as.calling.`-tree-red
1fd40 75 63 65 27 20 61 66 74 65 72 20 60 2d 74 72 65 65 2d 6d 61 70 27 0a 62 75 74 20 69 73 20 74 77 uce'.after.`-tree-map'.but.is.tw
1fd60 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 ice.as.fast.as.it.only.traverse.
1fd80 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 the.structure.once."...(declare.
1fda0 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 (important-return-value.t))...(c
1fdc0 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f ond....((null.tree).())....((-co
1fde0 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 ns-pair?.tree).(funcall.fn.tree)
1fe00 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d )....((consp.tree).....(-reduce-
1fe20 72 20 66 6f 6c 64 65 72 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 r.folder.(mapcar.(lambda.(x).(-t
1fe40 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 66 6e 20 66 6f 6c 64 65 72 20 78 29 29 20 74 72 65 65 ree-mapreduce.fn.folder.x)).tree
1fe60 29 29 29 0a 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 64 )))....((funcall.fn.tree))))..(d
1fe80 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6f 72 6d 20 66 efmacro.--tree-mapreduce.(form.f
1fea0 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 older.tree)..."Anaphoric.form.of
1fec0 20 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .`-tree-mapreduce'."...(declare.
1fee0 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 (debug.(def-form.def-form.form))
1ff00 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 6c 61 6d 62 64 61 20 28 69 )...`(-tree-mapreduce.(lambda.(i
1ff20 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 t).(ignore.it).,form)...........
1ff40 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 28 69 67 6e 6f ..........(lambda.(it.acc).(igno
1ff60 72 65 20 69 74 20 61 63 63 29 20 2c 66 6f 6c 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 re.it.acc).,folder).............
1ff80 20 20 20 20 20 20 20 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 ........,tree))..(defun.-tree-ma
1ffa0 70 20 28 66 6e 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 p.(fn.tree)..."Apply.FN.to.each.
1ffc0 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 element.of.TREE.while.preserving
1ffe0 20 74 68 65 20 74 72 65 65 20 73 74 72 75 63 74 75 72 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 .the.tree.structure."...(declare
20000 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 .(important-return-value.t))...(
20020 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 cond....((null.tree).())....((-c
20040 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 ons-pair?.tree).(funcall.fn.tree
20060 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 28 6d 61 70 63 61 72 20 ))....((consp.tree).....(mapcar.
20080 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 20 66 6e 20 78 29 29 20 74 72 (lambda.(x).(-tree-map.fn.x)).tr
200a0 65 65 29 29 0a 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 ee))....((funcall.fn.tree))))..(
200c0 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 20 28 66 6f 72 6d 20 74 72 65 65 29 0a defmacro.--tree-map.(form.tree).
200e0 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 27 .."Anaphoric.form.of.`-tree-map'
20100 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 ."...(declare.(debug.(def-form.f
20120 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 69 74 orm)))...`(-tree-map.(lambda.(it
20140 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 ).(ignore.it).,form).,tree))..(d
20160 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d efun.-tree-reduce-from.(fn.init-
20180 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 value.tree)..."Use.FN.to.reduce.
201a0 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 0a 49 66 20 65 6c 65 6d 65 6e elements.of.list.TREE..If.elemen
201c0 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c ts.of.TREE.are.lists.themselves,
201e0 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 .apply.the.reduction.recursively
20200 2e 0a 0a 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 49 4e 49 54 2d 56 ...FN.is.first.applied.to.INIT-V
20220 41 4c 55 45 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 ALUE.and.first.element.of.the.li
20240 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 6f st,.then.on.this.result.and.seco
20260 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 54 nd.element.from.the.list.etc...T
20280 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 he.initial.value.is.ignored.on.c
202a0 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e ons.pairs.as.they.always.contain
202c0 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f .two.elements."...(declare.(impo
202e0 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 rtant-return-value.t))...(cond..
20300 20 20 28 28 6e 75 6c 6c 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 ..((null.tree).())....((-cons-pa
20320 69 72 3f 20 74 72 65 65 29 20 74 72 65 65 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 ir?.tree).tree)....((consp.tree)
20340 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 0a 20 20 20 20 20 66 6e 20 69 6e 69 .....(-reduce-r-from......fn.ini
20360 74 2d 76 61 6c 75 65 0a 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 t-value......(mapcar.(lambda.(x)
20380 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 6e 20 69 6e 69 74 2d 76 61 6c 75 .(-tree-reduce-from.fn.init-valu
203a0 65 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 72 65 65 29 29 29 0a 0a 28 64 65 66 6d e.x)).tree)))....(tree)))..(defm
203c0 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e acro.--tree-reduce-from.(form.in
203e0 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d it-value.tree)..."Anaphoric.form
20400 20 6f 66 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 .of.`-tree-reduce-from'."...(dec
20420 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 lare.(debug.(def-form.form.form)
20440 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 ))...`(-tree-reduce-from.(lambda
20460 20 28 69 74 20 61 63 63 29 20 28 69 67 6e 6f 72 65 20 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 .(it.acc).(ignore.it.acc).,form)
20480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 69 6e 69 74 2d 76 61 6c .......................,init-val
204a0 75 65 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 ue.,tree))..(defun.-tree-reduce.
204c0 28 66 6e 20 74 72 65 65 29 0a 20 20 22 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c (fn.tree)..."Use.FN.to.reduce.el
204e0 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 ements.of.list.TREE..If.elements
20500 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 .of.TREE.are.lists.themselves,.a
20520 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a pply.the.reduction.recursively..
20540 0a 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c .FN.is.first.applied.to.first.el
20560 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 ement.of.the.list.and.second.ele
20580 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 ment,.then.on.this.result.and.th
205a0 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ird.element.from.the.list.etc...
205c0 53 65 65 20 60 2d 72 65 64 75 63 65 2d 72 27 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 See.`-reduce-r'.for.how.exactly.
205e0 61 72 65 20 6c 69 73 74 73 20 6f 66 20 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 are.lists.of.zero.or.one.element
20600 20 68 61 6e 64 6c 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 .handled."...(declare.(important
20620 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e -return-value.t))...(cond....((n
20640 75 6c 6c 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 ull.tree).())....((-cons-pair?.t
20660 72 65 65 29 20 74 72 65 65 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 ree).tree)....((consp.tree).....
20680 28 2d 72 65 64 75 63 65 2d 72 20 66 6e 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 (-reduce-r.fn.(mapcar.(lambda.(x
206a0 29 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 66 6e 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 ).(-tree-reduce.fn.x)).tree)))..
206c0 20 20 28 74 72 65 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 65 64 ..(tree)))..(defmacro.--tree-red
206e0 75 63 65 20 28 66 6f 72 6d 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 uce.(form.tree)..."Anaphoric.for
20700 6d 20 6f 66 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 m.of.`-tree-reduce'."...(declare
20720 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 .(debug.(def-form.form)))...`(-t
20740 72 65 65 2d 72 65 64 75 63 65 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 28 69 67 6e ree-reduce.(lambda.(it.acc).(ign
20760 6f 72 65 20 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 ore.it.acc).,form).,tree))..(def
20780 75 6e 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 6e 20 74 72 65 un.-tree-map-nodes.(pred.fun.tre
207a0 65 29 0a 20 20 22 43 61 6c 6c 20 46 55 4e 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 54 e)..."Call.FUN.on.each.node.of.T
207c0 52 45 45 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 50 52 45 44 2e 0a 0a 49 66 20 50 52 45 REE.that.satisfies.PRED...If.PRE
207e0 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 D.returns.nil,.continue.descendi
20800 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 0a 72 65 74 75 ng.down.this.node...If.PRED.retu
20820 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 68 69 73 20 6e rns.non-nil,.apply.FUN.to.this.n
20840 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 2e 22 ode.and.do.not.descend.further."
20860 0a 20 20 28 63 6f 6e 64 20 28 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 74 72 65 65 29 20 28 66 ...(cond.((funcall.pred.tree).(f
20880 75 6e 63 61 6c 6c 20 66 75 6e 20 74 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 uncall.fun.tree)).........((and.
208a0 28 6c 69 73 74 70 20 74 72 65 65 29 20 28 6c 69 73 74 70 20 28 63 64 72 20 74 72 65 65 29 29 29 (listp.tree).(listp.(cdr.tree)))
208c0 0a 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 ..........(-map.(lambda.(x).(-tr
208e0 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 70 72 65 64 20 66 75 6e 20 78 29 29 20 74 72 65 65 29 29 ee-map-nodes.pred.fun.x)).tree))
20900 0a 20 20 20 20 20 20 20 20 28 74 72 65 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 .........(tree)))..(defmacro.--t
20920 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 6f 72 6d 20 74 72 65 65 29 0a 20 ree-map-nodes.(pred.form.tree)..
20940 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 2d 6e ."Anaphoric.form.of.`-tree-map-n
20960 6f 64 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 odes'."...(declare.(debug.(def-f
20980 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d orm.def-form.form)))...`(-tree-m
209a0 61 70 2d 6e 6f 64 65 73 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 ap-nodes.(lambda.(it).(ignore.it
209c0 29 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 ).,pred).....................(la
209e0 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 0a 20 20 20 mbda.(it).(ignore.it).,form)....
20a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e .................,tree))..(defun
20a20 20 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 .-tree-seq.(branch.children.tree
20a40 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f )..."Return.a.sequence.of.the.no
20a60 64 65 73 20 69 6e 20 54 52 45 45 2c 20 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 des.in.TREE,.in.depth-first.sear
20a80 63 68 20 6f 72 64 65 72 2e 0a 0a 42 52 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 ch.order...BRANCH.is.a.predicate
20aa0 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f .of.one.argument.that.returns.no
20ac0 6e 2d 6e 69 6c 20 69 66 20 74 68 65 0a 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 n-nil.if.the.passed.argument.is.
20ae0 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 a.branch,.that.is,.a.node.that.c
20b00 61 6e 20 68 61 76 65 20 63 68 69 6c 64 72 65 6e 2e 0a 0a 43 48 49 4c 44 52 45 4e 20 69 73 20 61 an.have.children...CHILDREN.is.a
20b20 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 .function.of.one.argument.that.r
20b40 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 6c 64 72 65 6e 0a 6f 66 20 74 68 65 20 70 61 73 73 65 eturns.the.children.of.the.passe
20b60 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 2e 0a 0a 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 d.branch.node...Non-branch.nodes
20b80 20 61 72 65 20 73 69 6d 70 6c 79 20 63 6f 70 69 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .are.simply.copied."...(declare.
20ba0 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 (important-return-value.t))...(c
20bc0 6f 6e 73 20 74 72 65 65 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 75 6e 63 61 6c 6c 20 62 ons.tree.........(and.(funcall.b
20be0 72 61 6e 63 68 20 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 ranch.tree)..............(-mapca
20c00 74 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 73 65 71 20 62 72 61 6e 63 68 20 t.(lambda.(x).(-tree-seq.branch.
20c20 63 68 69 6c 64 72 65 6e 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 children.x))....................
20c40 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 29 29 29 29 0a 0a ...(funcall.children.tree)))))..
20c60 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 69 (defmacro.--tree-seq.(branch.chi
20c80 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 ldren.tree)..."Anaphoric.form.of
20ca0 20 60 2d 74 72 65 65 2d 73 65 71 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 .`-tree-seq'."...(declare.(debug
20cc0 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 .(def-form.def-form.form)))...`(
20ce0 2d 74 72 65 65 2d 73 65 71 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 -tree-seq.(lambda.(it).(ignore.i
20d00 74 29 20 2c 62 72 61 6e 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 t).,branch)...............(lambd
20d20 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 63 68 69 6c 64 72 65 6e 29 0a 20 20 a.(it).(ignore.it).,children)...
20d40 20 20 20 20 20 20 20 20 20 20 20 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6c 6f ............,tree))..(defun.-clo
20d60 6e 65 20 28 6c 69 73 74 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 ne.(list)..."Create.a.deep.copy.
20d80 6f 66 20 4c 49 53 54 2e 0a 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 of.LIST..The.new.list.has.the.sa
20da0 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 73 74 72 75 63 74 75 72 65 20 62 75 74 20 61 6c me.elements.and.structure.but.al
20dc0 6c 20 63 6f 6e 73 20 61 72 65 0a 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e 65 77 20 6f 6e 65 l.cons.are.replaced.with.new.one
20de0 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 s...This.is.useful.when.you.need
20e00 20 74 6f 20 63 6c 6f 6e 65 20 61 0a 73 74 72 75 63 74 75 72 65 20 73 75 63 68 20 61 73 20 70 6c .to.clone.a.structure.such.as.pl
20e20 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d ist.or.alist."...(declare.(side-
20e40 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 23 27 69 effect-free.t))...(-tree-map.#'i
20e60 64 65 6e 74 69 74 79 20 6c 69 73 74 29 29 0a 0c 0a 3b 3b 3b 20 43 6f 6d 62 69 6e 61 74 6f 72 73 dentity.list))...;;;.Combinators
20e80 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 70 61 72 74 69 61 6c 20 23 27 61 70 70 6c 79 2d 70 61 ..(defalias.'-partial.#'apply-pa
20ea0 72 74 69 61 6c 6c 79 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 rtially..."Return.a.function.tha
20ec0 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 55 t.is.a.partial.application.of.FU
20ee0 4e 20 74 6f 20 41 52 47 53 2e 0a 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 N.to.ARGS..ARGS.is.a.list.of.the
20f00 20 66 69 72 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 55 .first.N.arguments.to.pass.to.FU
20f20 4e 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 N..The.result.is.a.new.function.
20f40 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 55 4e 2c 20 65 78 63 65 which.does.the.same.as.FUN,.exce
20f60 70 74 20 74 68 61 74 0a 74 68 65 20 66 69 72 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 pt.that.the.first.N.arguments.ar
20f80 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 e.fixed.at.the.values.with.which
20fa0 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 77 61 73 20 63 61 6c 6c 65 64 2e 0a 5c 6e 28 66 6e .this.function.was.called..\n(fn
20fc0 20 46 55 4e 20 26 72 65 73 74 20 41 52 47 53 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 72 70 61 72 .FUN.&rest.ARGS)")..(defun.-rpar
20fe0 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 tial.(fn.&rest.args)..."Return.a
21000 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c .function.that.is.a.partial.appl
21020 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 74 6f 20 41 52 47 53 2e 0a 41 52 47 53 20 69 73 20 61 ication.of.FN.to.ARGS..ARGS.is.a
21040 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f .list.of.the.last.N.arguments.to
21060 20 70 61 73 73 20 74 6f 20 46 4e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 6e 65 .pass.to.FN...The.result.is.a.ne
21080 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 w.function.which.does.the.same.a
210a0 73 20 46 4e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c 61 73 74 0a 4e 20 61 72 67 s.FN,.except.that.the.last.N.arg
210c0 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 uments.are.fixed.at.the.values.w
210e0 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 63 61 6c 6c ith.which.this.function.was.call
21100 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 2d 70 61 72 74 69 61 6c 27 2c 20 65 78 ed...This.is.like.`-partial',.ex
21120 63 65 70 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 0a 73 74 61 cept.the.arguments.are.fixed.sta
21140 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e rting.from.the.right.rather.than
21160 20 74 68 65 20 6c 65 66 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 .the.left."...(declare.(pure.t).
21180 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 (side-effect-free.error-free))..
211a0 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 2d 62 65 66 6f 72 65 29 20 28 61 70 .(lambda.(&rest.args-before).(ap
211c0 70 6c 79 20 66 6e 20 28 61 70 70 65 6e 64 20 61 72 67 73 2d 62 65 66 6f 72 65 20 61 72 67 73 29 ply.fn.(append.args-before.args)
211e0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 )))..(defun.-juxt.(&rest.fns)...
21200 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 74 68 65 20 6a "Return.a.function.that.is.the.j
21220 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 uxtaposition.of.FNS..The.returne
21240 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 d.function.takes.a.variable.numb
21260 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 65 61 63 68 20 6f 66 20 46 4e 53 20 er.of.ARGS,.applies.each.of.FNS.
21280 69 6e 20 74 75 72 6e 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 in.turn.to.ARGS,.and.returns.the
212a0 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 .list.of.results."...(declare.(p
212c0 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 ure.t).(side-effect-free.error-f
212e0 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 6d 61 ree))...(lambda.(&rest.args).(ma
21300 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 61 70 70 6c 79 20 78 20 61 72 67 73 29 29 pcar.(lambda.(x).(apply.x.args))
21320 20 66 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 .fns)))..(defun.-compose.(&rest.
21340 66 6e 73 29 0a 20 20 22 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c fns)..."Compose.FNS.into.a.singl
21360 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 66 e.composite.function..Return.a.f
21380 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 unction.that.takes.a.variable.nu
213a0 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 74 68 65 20 6c 61 73 74 20 66 mber.of.ARGS,.applies.the.last.f
213c0 75 6e 63 74 69 6f 6e 20 69 6e 20 46 4e 53 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 unction.in.FNS.to.ARGS,.and.retu
213e0 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 rns.the.result.of.calling.each.r
21400 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 emaining.function.on.the.result.
21420 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d of.the.previous.function,.right-
21440 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f 20 46 4e 53 20 61 72 65 20 67 69 76 65 6e 2c 20 72 to-left...If.no.FNS.are.given,.r
21460 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 0a 60 69 64 65 6e 74 69 74 79 27 20 66 75 6e 63 eturn.a.variadic.`identity'.func
21480 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 tion."...(declare.(pure.t).(side
214a0 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 65 74 -effect-free.error-free))...(let
214c0 2a 20 28 28 66 6e 73 20 28 6e 72 65 76 65 72 73 65 20 66 6e 73 29 29 0a 20 20 20 20 20 20 20 20 *.((fns.(nreverse.fns)).........
214e0 20 28 68 65 61 64 20 28 63 61 72 20 66 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c .(head.(car.fns))..........(tail
21500 20 28 63 64 72 20 66 6e 73 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 74 61 69 6c 0a 20 20 20 .(cdr.fns))).....(cond.(tail....
21520 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 ........(lambda.(&rest.args)....
21540 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c ..........(--reduce-from.(funcal
21560 6c 20 69 74 20 61 63 63 29 20 28 61 70 70 6c 79 20 68 65 61 64 20 61 72 67 73 29 20 74 61 69 6c l.it.acc).(apply.head.args).tail
21580 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6e 73 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 )))...........(fns.head)........
215a0 20 20 20 28 28 6c 61 6d 62 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 ...((lambda.(&optional.arg.&rest
215c0 20 5f 29 20 61 72 67 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 70 70 6c 69 66 79 20 28 66 ._).arg)))))..(defun.-applify.(f
215e0 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 n)..."Return.a.function.that.app
21600 6c 69 65 73 20 46 4e 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 lies.FN.to.a.single.list.of.args
21620 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 46 4e 20 66 ..This.changes.the.arity.of.FN.f
21640 72 6f 6d 20 74 61 6b 69 6e 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 rom.taking.N.distinct.arguments.
21660 74 6f 0a 74 61 6b 69 6e 67 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 to.taking.1.argument.which.is.a.
21680 6c 69 73 74 20 6f 66 20 4e 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 list.of.N.arguments."...(declare
216a0 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f .(pure.t).(side-effect-free.erro
216c0 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 61 72 67 73 29 20 28 61 70 70 6c 79 r-free))...(lambda.(args).(apply
216e0 20 66 6e 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e .fn.args)))..(defun.-on.(op.tran
21700 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c s)..."Return.a.function.that.cal
21720 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 4f 50 20 6f 6e 20 74 ls.TRANS.on.each.arg.and.OP.on.t
21740 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f he.results..The.returned.functio
21760 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 n.takes.a.variable.number.of.arg
21780 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 54 52 41 4e 53 uments,.calls.the.function.TRANS
217a0 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 .on.each.one.in.turn,.and.then.p
217c0 61 73 73 65 73 20 74 68 6f 73 65 0a 72 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 asses.those.results.as.the.list.
217e0 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 4f 50 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 of.arguments.to.OP,.in.the.same.
21800 6f 72 64 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 order...For.example,.the.followi
21820 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 ng.pairs.of.expressions.are.mora
21840 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e lly.equivalent:....(funcall.(-on
21860 20 23 5c 5c 3d 27 2b 20 23 5c 5c 3d 27 31 2b 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b .#\\='+.#\\='1+).1.2.3).=.(+.(1+
21880 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d .1).(1+.2).(1+.3))...(funcall.(-
218a0 6f 6e 20 23 5c 5c 3d 27 2b 20 23 5c 5c 3d 27 31 2b 29 29 20 20 20 20 20 20 20 3d 20 28 2b 29 22 on.#\\='+.#\\='1+)).......=.(+)"
218c0 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
218e0 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 t-free.error-free))...(lambda.(&
21900 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 3b 3b 20 54 68 69 73 20 75 6e 72 6f 6c 6c 69 6e 67 rest.args).....;;.This.unrolling
21920 20 73 65 65 6d 73 20 74 6f 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 6c 79 20 63 68 65 61 70 20 .seems.to.be.a.relatively.cheap.
21940 77 61 79 20 74 6f 20 6b 65 65 70 20 74 68 65 0a 20 20 20 20 3b 3b 20 6f 76 65 72 68 65 61 64 20 way.to.keep.the.....;;.overhead.
21960 6f 66 20 60 6d 61 70 63 61 72 27 20 2b 20 60 61 70 70 6c 79 27 20 69 6e 20 63 68 65 63 6b 2e 0a of.`mapcar'.+.`apply'.in.check..
21980 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 ....(cond.((cddr.args)..........
219a0 20 20 28 61 70 70 6c 79 20 6f 70 20 28 6d 61 70 63 61 72 20 74 72 61 6e 73 20 61 72 67 73 29 29 ..(apply.op.(mapcar.trans.args))
219c0 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 )...........((cdr.args).........
219e0 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 70 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 6e 73 20 28 63 ...(funcall.op.(funcall.trans.(c
21a00 61 72 20 61 72 67 73 29 29 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 6e 73 20 28 63 61 64 72 20 61 ar.args)).(funcall.trans.(cadr.a
21a20 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 0a 20 20 20 20 20 20 20 20 rgs))))...........(args.........
21a40 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 70 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 6e 73 20 28 63 ...(funcall.op.(funcall.trans.(c
21a60 61 72 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 ar.args))))...........((funcall.
21a80 6f 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 69 70 20 28 66 6e 29 0a 20 20 22 52 65 op)))))..(defun.-flip.(fn)..."Re
21aa0 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 turn.a.function.that.calls.FN.wi
21ac0 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e 0a 54 68 65 20 72 th.its.arguments.reversed..The.r
21ae0 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 eturned.function.takes.the.same.
21b00 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 46 4e 2e 0a 0a 46 6f 72 20 number.of.arguments.as.FN...For.
21b20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 78 70 72 65 example,.the.following.two.expre
21b40 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a ssions.are.morally.equivalent:..
21b60 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 5c 5c 3d 27 2d 29 20 31 20 32 29 20 3d ..(funcall.(-flip.#\\='-).1.2).=
21b80 20 28 2d 20 32 20 31 29 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 6f 74 61 74 65 2d 61 72 67 .(-.2.1)..See.also:.`-rotate-arg
21ba0 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 s'."...(declare.(pure.t).(side-e
21bc0 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 ffect-free.error-free))...(lambd
21be0 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 a.(&rest.args).;;.Open-code.for.
21c00 73 70 65 65 64 2e 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 20 28 61 speed......(cond.((cddr.args).(a
21c20 70 70 6c 79 20 66 6e 20 28 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 pply.fn.(nreverse.args))).......
21c40 20 20 20 20 28 28 63 64 72 20 61 72 67 73 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 64 ....((cdr.args).(funcall.fn.(cad
21c60 72 20 61 72 67 73 29 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 r.args).(car.args)))...........(
21c80 61 72 67 73 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 args.(funcall.fn.(car.args)))...
21ca0 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 ........((funcall.fn)))))..(defu
21cc0 6e 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 n.-rotate-args.(n.fn)..."Return.
21ce0 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 20 61 72 a.function.that.calls.FN.with.ar
21d00 67 73 20 72 6f 74 61 74 65 64 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 gs.rotated.N.places.to.the.right
21d20 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 ..The.returned.function.takes.th
21d40 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 46 4e e.same.number.of.arguments.as.FN
21d60 2c 0a 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 ,.rotates.the.list.of.arguments.
21d80 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e N.places.to.the.right.(left.if.N
21da0 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 60 2d 72 6f 74 61 74 65 .is.negative).just.like.`-rotate
21dc0 27 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e ',.and.applies.FN.to.the.result.
21de0 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 69 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 ..See.also:.`-flip'."...(declare
21e00 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a .(pure.t).(side-effect-free.t)).
21e20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6e 29 0a 20 20 20 20 20 20 66 6e 0a 20 20 20 20 28 6c 65 ..(if.(zerop.n).......fn.....(le
21e40 74 20 28 28 65 76 65 6e 20 28 3d 20 28 25 20 6e 20 32 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 t.((even.(=.(%.n.2).0))).......(
21e60 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e lambda.(&rest.args).........(con
21e80 64 20 28 28 63 64 64 72 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 d.((cddr.args).;;.Open-code.for.
21ea0 73 70 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 66 6e 20 speed.................(apply.fn.
21ec0 28 2d 72 6f 74 61 74 65 20 6e 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (-rotate.n.args)))..............
21ee0 20 28 28 63 64 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 .((cdr.args)................(let
21f00 20 28 28 66 73 74 20 28 63 61 72 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .((fst.(car.args))..............
21f20 20 20 20 20 20 20 20 20 28 73 6e 64 20 28 63 61 64 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 ........(snd.(cadr.args)))......
21f40 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 69 66 20 65 76 65 6e ............(funcall.fn.(if.even
21f60 20 66 73 74 20 73 6e 64 29 20 28 69 66 20 65 76 65 6e 20 73 6e 64 20 66 73 74 29 29 29 29 0a 20 .fst.snd).(if.even.snd.fst))))..
21f80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............(args..............
21fa0 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 ..(funcall.fn.(car.args)))......
21fc0 20 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 29 29 29 0a 0a 28 64 .........((funcall.fn)))))))..(d
21fe0 65 66 75 6e 20 2d 63 6f 6e 73 74 20 28 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 efun.-const.(c)..."Return.a.func
22000 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 43 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 tion.that.returns.C.ignoring.any
22020 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 .additional.arguments...In.types
22040 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 :.a.->.b.->.a"...(declare.(pure.
22060 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 t).(side-effect-free.error-free)
22080 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f 29 20 63 29 29 0a 0a 28 64 65 66 6d )...(lambda.(&rest._).c))..(defm
220a0 61 63 72 6f 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 0a 20 20 22 54 61 6b 65 acro.-cut.(&rest.params)..."Take
220c0 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 20 .n-ary.function.and.n.arguments.
220e0 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 67 and.specialize.some.of.them..Arg
22100 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 uments.denoted.by.<>.will.be.lef
22120 74 20 75 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 53 65 65 20 53 52 46 49 2d 32 36 20 66 6f t.unspecialized...See.SRFI-26.fo
22140 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c r.detailed.description."...(decl
22160 61 72 65 20 28 64 65 62 75 67 20 28 26 6f 70 74 69 6f 6e 61 6c 20 73 65 78 70 20 26 72 65 73 74 are.(debug.(&optional.sexp.&rest
22180 20 26 6f 72 20 22 3c 3e 22 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 20 30 29 .&or."<>".form)))...(let*.((i.0)
221a0 0a 20 20 20 20 20 20 20 20 20 28 61 72 67 73 20 28 2d 2d 6b 65 65 70 20 28 77 68 65 6e 20 28 65 ..........(args.(--keep.(when.(e
221c0 71 20 69 74 20 27 3c 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 q.it.'<>).......................
221e0 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(setq.i.(1+.i))..............
22200 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 ............(make-symbol.(format
22220 20 22 44 25 64 22 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."D%d".i))).....................
22240 20 20 20 70 61 72 61 6d 73 29 29 29 0a 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 61 72 67 73 0a ...params))).....`(lambda.,args.
22260 20 20 20 20 20 20 20 2c 28 6c 65 74 20 28 28 62 6f 64 79 20 28 2d 2d 6d 61 70 20 28 69 66 20 28 .......,(let.((body.(--map.(if.(
22280 65 71 20 69 74 20 27 3c 3e 29 20 28 70 6f 70 20 61 72 67 73 29 20 69 74 29 20 70 61 72 61 6d 73 eq.it.'<>).(pop.args).it).params
222a0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 72 20 70 61 72 61 6d )))...........(if.(eq.(car.param
222c0 73 29 20 27 3c 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 23 27 66 75 s).'<>)...............(cons.#'fu
222e0 6e 63 61 6c 6c 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 29 29 ncall.body).............body))))
22300 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a 20 20 22 52 65 74 75 72 6e 20 )..(defun.-not.(pred)..."Return.
22320 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 73 a.predicate.that.negates.the.res
22340 75 6c 74 20 6f 66 20 50 52 45 44 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 ult.of.PRED..The.returned.predic
22360 61 74 65 20 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 50 52 45 44 ate.passes.its.arguments.to.PRED
22380 2e 20 20 49 66 20 50 52 45 44 0a 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 20 72 65 73 75 ...If.PRED.returns.nil,.the.resu
223a0 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 lt.is.non-nil;.otherwise.the.res
223c0 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 61 6e 64 66 6e 27 20 ult.is.nil...See.also:.`-andfn'.
223e0 61 6e 64 20 60 2d 6f 72 66 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 and.`-orfn'."...(declare.(pure.t
22400 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 ).(side-effect-free.error-free))
22420 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 6e 6f 74 20 28 61 70 ...(lambda.(&rest.args).(not.(ap
22440 70 6c 79 20 70 72 65 64 20 61 72 67 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6f 72 66 6e 20 ply.pred.args))))..(defun.-orfn.
22460 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 (&rest.preds)..."Return.a.predic
22480 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6e ate.that.returns.the.first.non-n
224a0 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 53 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 il.result.of.PREDS..The.returned
224c0 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 .predicate.takes.a.variable.numb
224e0 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 er.of.arguments,.passes.them.to.
22500 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 20 each.predicate.in.PREDS.in.turn.
22520 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 until.one.of.them.returns.non-ni
22540 6c 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 l,.and.returns.that.non-nil.resu
22560 6c 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 lt.without.calling.the.remaining
22580 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 6e 20 6e 69 6c .PREDS...If.all.PREDS.return.nil
225a0 2c 20 6f 72 20 69 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 ,.or.if.no.PREDS.are.given,.the.
225c0 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a returned.predicate.returns.nil..
225e0 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 61 6e 64 66 6e 27 20 61 6e 64 20 60 2d 6e 6f 74 27 2e 22 .See.also:.`-andfn'.and.`-not'."
22600 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
22620 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 3b 3b 20 4f 70 65 6e 2d 63 6f t-free.error-free))...;;.Open-co
22640 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 28 63 64 72 20 70 72 65 64 de.for.speed....(cond.((cdr.pred
22660 73 29 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 2d 2d 73 6f 6d 65 20 s).(lambda.(&rest.args).(--some.
22680 28 61 70 70 6c 79 20 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 20 (apply.it.args).preds)))........
226a0 20 28 70 72 65 64 73 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 23 27 .(preds.(car.preds)).........(#'
226c0 69 67 6e 6f 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 20 ignore)))..(defun.-andfn.(&rest.
226e0 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 preds)..."Return.a.predicate.tha
22700 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 50 52 45 44 53 20 64 t.returns.non-nil.if.all.PREDS.d
22720 6f 20 73 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 50 20 74 o.so..The.returned.predicate.P.t
22740 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 akes.a.variable.number.of.argume
22760 6e 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 nts.and.passes.them.to.each.pred
22780 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 icate.in.PREDS.in.turn...If.any.
227a0 6f 6e 65 20 6f 66 0a 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 50 20 61 6c 73 6f one.of.PREDS.returns.nil,.P.also
227c0 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 65 .returns.nil.without.calling.the
227e0 0a 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 .remaining.PREDS...If.all.PREDS.
22800 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 50 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 return.non-nil,.P.returns.the.la
22820 73 74 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 20 st.such.value...If.no.PREDS.are.
22840 67 69 76 65 6e 2c 20 50 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e given,.P.always.returns.non-nil.
22860 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6f 72 66 6e 27 20 61 6e 64 20 60 2d 6e 6f 74 27 2e 22 ..See.also:.`-orfn'.and.`-not'."
22880 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 ...(declare.(pure.t).(side-effec
228a0 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 3b 3b 20 4f 70 65 6e 2d 63 6f t-free.error-free))...;;.Open-co
228c0 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 28 63 64 72 20 70 72 65 64 de.for.speed....(cond.((cdr.pred
228e0 73 29 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 2d 2d 65 76 65 72 79 s).(lambda.(&rest.args).(--every
22900 20 28 61 70 70 6c 79 20 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 .(apply.it.args).preds))).......
22920 20 20 28 70 72 65 64 73 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 28 ..(preds.(car.preds)).........((
22940 73 74 61 74 69 63 2d 69 66 20 28 66 62 6f 75 6e 64 70 20 27 61 6c 77 61 79 73 29 0a 20 20 20 20 static-if.(fboundp.'always).....
22960 20 20 20 20 20 20 20 20 20 23 27 61 6c 77 61 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 .........#'always............(la
22980 6d 62 64 61 20 28 26 72 65 73 74 20 5f 29 20 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 mbda.(&rest._).t)))))..(defun.-i
229a0 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 teratefn.(fn.n)..."Return.a.func
229c0 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 65 64 20 4e 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 tion.FN.composed.N.times.with.it
229e0 73 65 6c 66 2e 0a 0a 46 4e 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 self...FN.is.a.unary.function...
22a00 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 If.you.need.to.use.a.function.of
22a20 20 68 69 67 68 65 72 0a 61 72 69 74 79 2c 20 75 73 65 20 60 2d 61 70 70 6c 69 66 79 27 20 66 69 .higher.arity,.use.`-applify'.fi
22a40 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 rst.to.turn.it.into.a.unary.func
22a60 74 69 6f 6e 2e 0a 0a 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 tion...With.n.=.0,.this.acts.as.
22a80 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 identity.function...In.types:.(a
22aa0 20 2d 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 .->.a).->.Int.->.a.->.a...This.f
22ac0 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 unction.satisfies.the.following.
22ae0 6c 61 77 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 law:....(funcall.(-iteratefn.fn.
22b00 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 n).init).=.(-last-item.(-iterate
22b20 20 66 6e 20 69 6e 69 74 20 28 31 2b 20 6e 29 29 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 .fn.init.(1+.n)))."...(declare.(
22b40 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d pure.t).(side-effect-free.error-
22b60 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 2d 64 6f 74 69 6d 65 73 20 free))...(lambda.(x).(--dotimes.
22b80 6e 20 28 73 65 74 71 20 78 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 78 29 29 29 20 78 29 29 0a 0a n.(setq.x.(funcall.fn.x))).x))..
22ba0 28 64 65 66 75 6e 20 2d 63 6f 75 6e 74 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 20 65 (defun.-counter.(&optional.beg.e
22bc0 6e 64 20 69 6e 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6c 6f 73 75 72 65 20 74 68 61 74 nd.inc)..."Return.a.closure.that
22be0 20 63 6f 75 6e 74 73 20 66 72 6f 6d 20 42 45 47 20 74 6f 20 45 4e 44 2c 20 77 69 74 68 20 69 6e .counts.from.BEG.to.END,.with.in
22c00 63 72 65 6d 65 6e 74 20 49 4e 43 2e 0a 0a 54 68 65 20 63 6c 6f 73 75 72 65 20 77 69 6c 6c 20 72 crement.INC...The.closure.will.r
22c20 65 74 75 72 6e 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 63 6f 75 6e eturn.the.next.value.in.the.coun
22c40 74 69 6e 67 20 73 65 71 75 65 6e 63 65 0a 65 61 63 68 20 74 69 6d 65 20 69 74 20 69 73 20 63 61 ting.sequence.each.time.it.is.ca
22c60 6c 6c 65 64 2c 20 61 6e 64 20 6e 69 6c 20 61 66 74 65 72 20 45 4e 44 20 69 73 20 72 65 61 63 68 lled,.and.nil.after.END.is.reach
22c80 65 64 2e 20 42 45 47 0a 64 65 66 61 75 6c 74 73 20 74 6f 20 30 2c 20 49 4e 43 20 64 65 66 61 75 ed..BEG.defaults.to.0,.INC.defau
22ca0 6c 74 73 20 74 6f 20 31 2c 20 61 6e 64 20 69 66 20 45 4e 44 20 69 73 20 6e 69 6c 2c 20 74 68 65 lts.to.1,.and.if.END.is.nil,.the
22cc0 20 63 6f 75 6e 74 65 72 0a 77 69 6c 6c 20 69 6e 63 72 65 6d 65 6e 74 20 69 6e 64 65 66 69 6e 69 .counter.will.increment.indefini
22ce0 74 65 6c 79 2e 0a 0a 54 68 65 20 63 6c 6f 73 75 72 65 20 61 63 63 65 70 74 73 20 61 6e 79 20 6e tely...The.closure.accepts.any.n
22d00 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61 72 65 20 64 69 umber.of.arguments,.which.are.di
22d20 73 63 61 72 64 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 scarded."...(declare.(pure.t).(s
22d40 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 ide-effect-free.error-free))...(
22d60 6c 65 74 20 28 28 69 6e 63 20 28 6f 72 20 69 6e 63 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 6e let.((inc.(or.inc.1)).........(n
22d80 20 28 6f 72 20 62 65 67 20 30 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 .(or.beg.0))).....(lambda.(&rest
22da0 20 5f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 6f 74 20 65 6e 64 29 20 28 3c ._).......(when.(or.(not.end).(<
22dc0 20 6e 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 6e 0a 20 20 20 20 20 20 .n.end)).........(prog1.n.......
22de0 20 20 20 20 28 73 65 74 71 20 6e 20 28 2b 20 6e 20 69 6e 63 29 29 29 29 29 29 29 0a 0a 28 64 65 ....(setq.n.(+.n.inc)))))))..(de
22e00 66 76 61 72 20 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 20 31 30 30 30 0a fvar.-fixfn-max-iterations.1000.
22e20 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 .."The.default.maximum.number.of
22e40 20 69 74 65 72 61 74 69 6f 6e 73 20 70 65 72 66 6f 72 6d 65 64 20 62 79 20 60 2d 66 69 78 66 6e .iterations.performed.by.`-fixfn
22e60 27 0a 20 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 65 20 73 70 65 63 69 66 69 65 64 2e 22 '...unless.otherwise.specified."
22e80 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 )..(defun.-fixfn.(fn.&optional.e
22ea0 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 qual-test.halt-test)..."Return.a
22ec0 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 .function.that.computes.the.(lea
22ee0 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a 0a 46 4e 20 6d 75 73 74 20 62 65 20 st).fixpoint.of.FN...FN.must.be.
22f00 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c a.unary.function..The.returned.l
22f20 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 61 72 67 75 6d 65 6e 74 2c 20 58 ambda.takes.a.single.argument,.X
22f40 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 69 78 70 ,.the.initial.value.for.the.fixp
22f60 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 oint.iteration..The.iteration.ha
22f80 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 lts.when.either.of.the.following
22fa0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 31 2e 20 49 .conditions.is.satisfied:...1..I
22fc0 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 teration.converges.to.the.fixpoi
22fe0 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 0a 20 20 20 20 74 65 73 74 nt,.with.equality.being.....test
23000 65 64 20 75 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e 20 49 66 20 45 51 55 41 4c 2d 54 45 ed.using.EQUAL-TEST..If.EQUAL-TE
23020 53 54 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 60 65 71 75 61 6c 27 ST.is.not.specified,.....`equal'
23040 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 68 65 .is.used..For.functions.over.the
23060 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 .floating.point.....numbers,.it.
23080 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 may.be.necessary.to.provide.an.a
230a0 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 ppropriate.....approximate.compa
230c0 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 48 41 4c 54 2d 54 45 53 54 20 72 65 74 75 72 rison.test....2..HALT-TEST.retur
230e0 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 48 41 4c 54 2d 54 45 53 54 20 64 65 ns.a.non-nil.value..HALT-TEST.de
23100 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 72 20 74 faults.to.a.....simple.counter.t
23120 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 60 2d 66 69 78 66 6e 2d 6d 61 78 2d hat.returns.t.after.`-fixfn-max-
23140 69 74 65 72 61 74 69 6f 6e 73 27 2c 0a 20 20 20 20 74 6f 20 67 75 61 72 64 20 61 67 61 69 6e 73 iterations',.....to.guard.agains
23160 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e 2e 20 4f 74 68 65 72 77 69 73 65 2c t.infinite.iteration..Otherwise,
23180 20 48 41 4c 54 2d 54 45 53 54 0a 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f .HALT-TEST.....must.be.a.functio
231a0 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 n.that.accepts.a.single.argument
231c0 2c 20 74 68 65 0a 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 58 2c 20 61 6e ,.the.....current.value.of.X,.an
231e0 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 d.returns.non-nil.as.long.as.ite
23200 72 61 74 69 6f 6e 0a 20 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 ration.....should.continue..In.t
23220 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 0a 20 20 his.way,.a.more.sophisticated...
23240 20 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 6c 69 ..convergence.test.may.be.suppli
23260 65 64 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 ed.by.the.caller...The.return.va
23280 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 lue.of.the.lambda.is.either.the.
232a0 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 fixpoint.or,.if.iteration.halted
232c0 20 62 65 66 6f 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 68 20 .before.converging,.a.cons.with.
232e0 63 61 72 20 60 68 61 6c 74 65 64 27 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f car.`halted'.and.cdr.the.final.o
23300 75 74 70 75 74 20 66 72 6f 6d 20 48 41 4c 54 2d 54 45 53 54 2e 0a 0a 49 6e 20 74 79 70 65 73 3a utput.from.HALT-TEST...In.types:
23320 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 .(a.->.a).->.a.->.a."...(declare
23340 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 .(important-return-value.t))...(
23360 6c 65 74 20 28 28 65 71 66 6e 20 20 20 28 6f 72 20 65 71 75 61 6c 2d 74 65 73 74 20 27 65 71 75 let.((eqfn...(or.equal-test.'equ
23380 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 68 61 6c 74 66 6e 20 28 6f 72 20 68 61 6c 74 2d 74 65 al)).........(haltfn.(or.halt-te
233a0 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 74 0a 20 20 20 st.....................(-not....
233c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 75 6e 74 65 72 20 30 20 2d 66 ..................(-counter.0.-f
233e0 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 29 29 29 29 29 0a 20 20 20 20 28 6c 61 ixfn-max-iterations))))).....(la
23400 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 75 6e 63 61 6c mbda.(x).......(let.((re.(funcal
23420 6c 20 66 6e 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 6c 74 3f 20 28 66 75 6e l.fn.x)).............(halt?.(fun
23440 63 61 6c 6c 20 68 61 6c 74 66 6e 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 call.haltfn.x))).........(while.
23460 28 61 6e 64 20 28 6e 6f 74 20 68 61 6c 74 3f 29 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 65 (and.(not.halt?).(not.(funcall.e
23480 71 66 6e 20 78 20 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 20 20 20 qfn.x.re)))...........(setq.x...
234a0 20 20 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 20 20 20 20 28 66 75 6e 63 ..re.................re....(func
234c0 61 6c 6c 20 66 6e 20 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 6c 74 3f all.fn.re).................halt?
234e0 20 28 66 75 6e 63 61 6c 6c 20 68 61 6c 74 66 6e 20 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 .(funcall.haltfn.re))).........(
23500 69 66 20 68 61 6c 74 3f 20 28 63 6f 6e 73 20 27 68 61 6c 74 65 64 20 68 61 6c 74 3f 29 0a 20 20 if.halt?.(cons.'halted.halt?)...
23520 20 20 20 20 20 20 20 20 72 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 72 6f 64 66 6e 20 ........re)))))..(defun.-prodfn.
23540 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e (&rest.fns)..."Return.a.function
23560 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 74 6f 20 65 61 63 .that.applies.each.of.FNS.to.eac
23580 68 20 6f 66 20 61 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 61 6b 65 73 h.of.a.list.of.arguments...Takes
235a0 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 .a.list.of.N.functions.and.retur
235c0 6e 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 ns.a.function.that.takes.a.list.
235e0 6f 66 20 6c 65 6e 67 74 68 20 4e 2c 20 61 70 70 6c 79 69 6e 67 20 49 74 68 20 66 75 6e 63 74 69 of.length.N,.applying.Ith.functi
23600 6f 6e 20 74 6f 20 49 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c on.to.Ith.element.of.the.input.l
23620 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e ist...Returns.a.list.of.length.N
23640 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 4e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 ...In.types.(for.N=2):.((a.->.b)
23660 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a ,.(c.->.d)).->.(a,.c).->.(b,.d).
23680 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c .This.function.satisfies.the.fol
236a0 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 lowing.laws:......(-compose.(-pr
236c0 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 odfn.f.g....)...............(-pr
236e0 6f 64 66 6e 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 0a 20 20 3d 20 28 2d 70 72 6f odfn.f\\='.g\\='....))...=.(-pro
23700 64 66 6e 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 0a 20 20 20 20 20 20 20 20 20 dfn.(-compose.f.f\\=')..........
23720 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 29 0a 20 20 20 20 20 20 20 20 20 ....(-compose.g.g\\=')..........
23740 20 20 20 20 2e 2e 2e 29 0a 0a 20 20 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a .......)......(-prodfn.f.g....).
23760 20 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 6c ..=.(-juxt.(-compose.f.(-partial
23780 20 23 5c 5c 3d 27 6e 74 68 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f .#\\='nth.0))............(-compo
237a0 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 23 5c 5c 3d 27 6e 74 68 20 31 29 29 0a 20 20 20 20 se.g.(-partial.#\\='nth.1)).....
237c0 20 20 20 20 20 20 20 2e 2e 2e 29 0a 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f ..........)......(-compose.(-pro
237e0 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6a 75 78 dfn.f.g....)...............(-jux
23800 74 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 0a 20 20 3d 20 28 2d 6a 75 78 74 20 28 t.f\\='.g\\='....))...=.(-juxt.(
23820 2d 63 6f 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 -compose.f.f\\=')............(-c
23840 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 0a ompose.g.g\\=')...............).
23860 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 23 5c 5c 3d 27 6e 74 .....(-compose.(-partial.#\\='nt
23880 68 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 h.n)...............(-prod.f1.f2.
238a0 2e 2e 2e 29 29 0a 20 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c ...))...=.(-compose.fn.(-partial
238c0 20 23 5c 5c 3d 27 6e 74 68 20 6e 29 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 .#\\='nth.n))"...(declare.(pure.
238e0 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 t).(side-effect-free.t))...(lamb
23900 64 61 20 28 78 29 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 69 74 20 6f da.(x).(--zip-with.(funcall.it.o
23920 74 68 65 72 29 20 66 6e 73 20 78 29 29 29 0a 0c 0a 3b 3b 3b 20 46 6f 6e 74 20 6c 6f 63 6b 0a 0a ther).fns.x)))...;;;.Font.lock..
23940 28 64 65 66 76 61 72 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 0a 20 20 60 28 3b 3b 20 54 4f (defvar.dash--keywords...`(;;.TO
23960 44 4f 3a 20 44 6f 20 6e 6f 74 20 66 6f 6e 74 69 66 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 DO:.Do.not.fontify.the.following
23980 20 61 75 74 6f 6d 61 74 69 63 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 3b 3b 20 67 6c 6f 62 .automatic.variables.....;;.glob
239a0 61 6c 6c 79 3b 20 64 65 74 65 63 74 20 61 6e 64 20 6c 69 6d 69 74 20 74 6f 20 74 68 65 69 72 20 ally;.detect.and.limit.to.their.
239c0 6c 6f 63 61 6c 20 61 6e 61 70 68 6f 72 69 63 20 73 63 6f 70 65 2e 0a 20 20 20 20 28 2c 28 72 78 local.anaphoric.scope......(,(rx
239e0 20 73 79 6d 62 6f 6c 2d 73 74 61 72 74 20 28 7c 20 22 61 63 63 22 20 22 69 74 22 20 22 69 74 2d .symbol-start.(|."acc"."it"."it-
23a00 69 6e 64 65 78 22 20 22 6f 74 68 65 72 22 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 index"."other").symbol-end).....
23a20 20 2e 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65 ...'font-lock-variable-name-face
23a40 29 0a 20 20 20 20 3b 3b 20 4d 61 63 72 6f 73 20 69 6e 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e ).....;;.Macros.in.dev/examples.
23a60 65 6c 2e 20 20 42 61 73 65 64 20 6f 6e 20 60 6c 69 73 70 2d 6d 6f 64 65 2d 73 79 6d 62 6f 6c 2d el...Based.on.`lisp-mode-symbol-
23a80 72 65 67 65 78 70 27 2e 0a 20 20 20 20 28 2c 28 72 78 20 3f 5c 28 20 28 67 72 6f 75 70 20 28 7c regexp'......(,(rx.?\(.(group.(|
23aa0 20 22 64 65 66 65 78 61 6d 70 6c 65 73 22 20 22 64 65 66 2d 65 78 61 6d 70 6c 65 2d 67 72 6f 75 ."defexamples"."def-example-grou
23ac0 70 22 29 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 69 6e p")).symbol-end...........(+.(in
23ae0 20 22 5c 74 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 2a 20 28 7c 20 ."\t."))...........(group.(*.(|.
23b00 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 28 3a (syntax.word).(syntax.symbol).(:
23b20 20 3f 5c 5c 20 6e 6f 6e 6c 29 29 29 29 29 0a 20 20 20 20 20 28 31 20 27 66 6f 6e 74 2d 6c 6f 63 .?\\.nonl)))))......(1.'font-loc
23b40 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 20 28 32 20 27 66 6f 6e 74 2d 6c 6f k-keyword-face)......(2.'font-lo
23b60 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 29 0a 20 20 20 20 3b 3b 20 53 ck-function-name-face)).....;;.S
23b80 79 6d 62 6f 6c 73 20 69 6e 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 2e 0a 20 20 20 20 2c ymbols.in.dev/examples.el......,
23ba0 28 72 78 20 73 79 6d 62 6f 6c 2d 73 74 61 72 74 20 28 7c 20 22 3d 3e 22 20 22 7e 3e 22 20 22 21 (rx.symbol-start.(|."=>"."~>"."!
23bc0 21 3e 22 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 3b 3b 20 45 6c 69 73 70 20 6d 61 !>").symbol-end).....;;.Elisp.ma
23be0 63 72 6f 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 77 61 73 20 73 74 61 74 69 63 20 70 72 69 cro.fontification.was.static.pri
23c00 6f 72 20 74 6f 20 45 6d 61 63 73 20 32 35 2e 0a 20 20 20 20 2c 40 28 77 68 65 6e 20 28 3c 20 65 or.to.Emacs.25......,@(when.(<.e
23c20 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 0a 20 20 20 20 20 20 20 20 28 macs-major-version.25).........(
23c40 6c 65 74 20 28 28 6d 61 63 73 20 27 28 22 21 63 64 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 let.((macs.'("!cdr".............
23c60 20 20 20 20 20 20 20 20 20 20 22 21 63 6f 6e 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........."!cons"...............
23c80 20 20 20 20 20 20 20 20 22 2d 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"-->"...................
23ca0 20 20 20 20 22 2d 2d 61 6c 6c 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--all-p"...................
23cc0 20 20 20 20 22 2d 2d 61 6c 6c 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--all?"....................
23ce0 20 20 20 22 2d 2d 61 6e 6e 6f 74 61 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."--annotate".................
23d00 20 20 20 20 20 20 22 2d 2d 61 6e 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"--any"...................
23d20 20 20 20 20 22 2d 2d 61 6e 79 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--any-p"...................
23d40 20 20 20 20 22 2d 2d 61 6e 79 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--any?"....................
23d60 20 20 20 22 2d 2d 63 6f 75 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."--count"....................
23d80 20 20 20 22 2d 2d 64 6f 74 69 6d 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."--dotimes"..................
23da0 20 20 20 20 20 22 2d 2d 64 6f 74 6f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."--doto"...................
23dc0 20 20 20 20 22 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--drop-while"..............
23de0 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........."--each"...............
23e00 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 22 0a 20 20 20 20 20 20 20 ........"--each-indexed"........
23e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 22 0a 20 20 20 20 20 20 ..............."--each-r".......
23e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 22 ................"--each-r-while"
23e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 77 ......................."--each-w
23e80 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 hile"......................."--e
23ea0 76 65 72 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 very"......................."--e
23ec0 76 65 72 79 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d very-p"......................."-
23ee0 2d 65 76 65 72 79 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 -every?"......................."
23f00 2d 2d 66 69 6c 74 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --filter".......................
23f20 22 2d 2d 66 69 6e 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "--find"......................."
23f40 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --find-index"...................
23f60 20 20 20 20 22 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 ...."--find-indices"............
23f80 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 22 0a 20 ..........."--find-last-index"..
23fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 72 73 74 22 0a 20 ....................."--first"..
23fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 78 22 0a 20 20 20 ....................."--fix"....
23fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 67 72 6f 75 70 2d 62 79 22 0a ..................."--group-by".
24000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 69 66 2d 6c 65 74 22 ......................"--if-let"
24020 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 69 74 65 72 61 74 ......................."--iterat
24040 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6b 65 65 70 e"......................."--keep
24060 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6c 61 73 74 22 "......................."--last"
24080 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 22 0a 20 ......................."--map"..
240a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 66 69 72 73 ....................."--map-firs
240c0 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d t"......................."--map-
240e0 69 6e 64 65 78 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 indexed"......................."
24100 2d 2d 6d 61 70 2d 6c 61 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --map-last".....................
24120 20 20 22 2d 2d 6d 61 70 2d 77 68 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."--map-when"..................
24140 20 20 20 20 20 22 2d 2d 6d 61 70 63 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."--mapcat".................
24160 20 20 20 20 20 20 22 2d 2d 6d 61 78 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"--max-by"................
24180 20 20 20 20 20 20 20 22 2d 2d 6d 69 6e 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."--min-by"...............
241a0 20 20 20 20 20 20 20 20 22 2d 2d 6e 6f 6e 65 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"--none-p"..............
241c0 20 20 20 20 20 20 20 20 20 22 2d 2d 6e 6f 6e 65 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........."--none?"..............
241e0 20 20 20 20 20 20 20 20 20 22 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 22 0a 20 20 20 20 20 20 20 ........."--only-some-p"........
24200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 22 0a 20 20 ..............."--only-some?"...
24220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e ...................."--partition
24240 2d 61 66 74 65 72 2d 70 72 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -after-pred"....................
24260 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."--partition-by".............
24280 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 .........."--partition-by-header
242a0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 "......................."--reduc
242c0 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 e"......................."--redu
242e0 63 65 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ce-from"......................."
24300 2d 2d 72 65 64 75 63 65 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --reduce-r".....................
24320 20 20 22 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."--reduce-r-from".............
24340 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 22 0a 20 20 20 20 20 20 20 .........."--reductions"........
24360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f ..............."--reductions-fro
24380 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 m"......................."--redu
243a0 63 74 69 6f 6e 73 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctions-r".......................
243c0 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 "--reductions-r-from"...........
243e0 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6a 65 63 74 22 0a 20 20 20 20 20 20 20 20 20 ............"--reject"..........
24400 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 22 0a 20 20 ............."--reject-first"...
24420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6a 65 63 74 2d 6c 61 ...................."--reject-la
24440 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d st"......................."--rem
24460 6f 76 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 ove"......................."--re
24480 6d 6f 76 65 2d 66 69 72 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 move-first".....................
244a0 20 20 22 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."--remove-last"...............
244c0 20 20 20 20 20 20 20 20 22 2d 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 22 0a 20 20 20 20 20 20 ........"--replace-where".......
244e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 65 6c 65 63 74 22 0a 20 20 20 20 20 ................"--select"......
24500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 65 70 61 72 61 74 65 22 0a 20 20 ................."--separate"...
24520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d 65 22 0a 20 20 20 ...................."--some"....
24540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d 65 2d 70 22 0a 20 20 ..................."--some-p"...
24560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d 65 3f 22 0a 20 20 ...................."--some?"...
24580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 72 74 22 0a 20 20 20 ...................."--sort"....
245a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c 69 63 65 22 0a 20 20 ..................."--splice"...
245c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c 69 63 65 2d 6c 69 ...................."--splice-li
245e0 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c st"......................."--spl
24600 69 74 2d 77 68 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 it-when"......................."
24620 2d 2d 73 70 6c 69 74 2d 77 69 74 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --split-with"...................
24640 20 20 20 20 22 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--take-while"..............
24660 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 22 0a 20 20 20 20 20 20 20 20 20 20 ........."--tree-map"...........
24680 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 22 0a 20 ............"--tree-map-nodes"..
246a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 ....................."--tree-map
246c0 72 65 64 75 63 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d reduce"......................."-
246e0 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 -tree-mapreduce-from"...........
24700 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 22 0a 20 20 20 20 ............"--tree-reduce".....
24720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 .................."--tree-reduce
24740 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d -from"......................."--
24760 74 72 65 65 2d 73 65 71 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tree-seq".......................
24780 22 2d 2d 75 6e 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "--unfold"......................
247a0 20 22 2d 2d 75 70 64 61 74 65 2d 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."--update-at"..................
247c0 20 20 20 20 20 22 2d 2d 77 68 65 6e 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."--when-let"...............
247e0 20 20 20 20 20 20 20 20 22 2d 2d 7a 69 70 2d 77 69 74 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 ........"--zip-with"............
24800 20 20 20 20 20 20 20 20 20 20 20 22 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........."->".................
24820 20 20 20 20 20 20 22 2d 3e 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"->>".....................
24840 20 20 22 2d 61 73 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."-as->".......................
24860 22 2d 63 75 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 64 "-cut"......................."-d
24880 6f 74 6f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 69 66 2d oto"......................."-if-
248a0 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 69 66 2d let"......................."-if-
248c0 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6c 61 let*"......................."-la
248e0 6d 62 64 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6c 65 mbda"......................."-le
24900 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6c 65 74 2a 22 t"......................."-let*"
24920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 65 74 71 22 0a 20 ......................."-setq"..
24940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 6f 6d 65 2d 2d 3e 22 0a ....................."-some-->".
24960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 6f 6d 65 2d 3e 22 0a ......................"-some->".
24980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 6f 6d 65 2d 3e 3e 22 ......................"-some->>"
249a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 70 6c 69 74 2d 6f ......................."-split-o
249c0 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 77 68 65 6e 2d n"......................."-when-
249e0 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 77 68 65 let"......................."-whe
24a00 6e 2d 6c 65 74 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 28 2c 28 63 6f 6e 63 61 74 n-let*")))...........`((,(concat
24a20 20 22 28 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 6d 61 63 73 20 27 73 79 6d 62 6f 6c 73 29 29 ."(".(regexp-opt.macs.'symbols))
24a40 20 2e 20 31 29 29 29 29 29 0a 20 20 22 46 6f 6e 74 20 6c 6f 63 6b 20 6b 65 79 77 6f 72 64 73 20 ...1)))))..."Font.lock.keywords.
24a60 66 6f 72 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 for.`dash-fontify-mode'.")..(def
24a80 63 75 73 74 6f 6d 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 custom.dash-fontify-mode-lighter
24aa0 20 6e 69 6c 0a 20 20 22 4d 6f 64 65 20 6c 69 6e 65 20 6c 69 67 68 74 65 72 20 66 6f 72 20 60 64 .nil..."Mode.line.lighter.for.`d
24ac0 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 0a 45 69 74 68 65 72 20 61 20 73 74 72 69 ash-fontify-mode'..Either.a.stri
24ae0 6e 67 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 74 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 77 ng.to.display.in.the.mode.line.w
24b00 68 65 6e 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 20 69 73 20 6f 6e 2c 20 6f hen.`dash-fontify-mode'.is.on,.o
24b20 72 20 6e 69 6c 20 74 6f 20 64 69 73 70 6c 61 79 0a 6e 6f 74 68 69 6e 67 20 28 74 68 65 20 64 65 r.nil.to.display.nothing.(the.de
24b40 66 61 75 6c 74 29 2e 22 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 64 61 fault)."...:package-version.'(da
24b60 73 68 20 2e 20 22 32 2e 31 38 2e 30 22 29 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 sh..."2.18.0")...:type.'(choice.
24b80 28 73 74 72 69 6e 67 20 3a 74 61 67 20 22 4c 69 67 68 74 65 72 22 20 3a 76 61 6c 75 65 20 22 20 (string.:tag."Lighter".:value.".
24ba0 44 61 73 68 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a Dash")..................(const.:
24bc0 74 61 67 20 22 4e 6f 74 68 69 6e 67 22 20 6e 69 6c 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f tag."Nothing".nil)))..;;;###auto
24be0 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 64 61 73 68 2d 66 6f 6e load.(define-minor-mode.dash-fon
24c00 74 69 66 79 2d 6d 6f 64 65 0a 20 20 22 54 6f 67 67 6c 65 20 66 6f 6e 74 69 66 69 63 61 74 69 6f tify-mode..."Toggle.fontificatio
24c20 6e 20 6f 66 20 44 61 73 68 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 44 61 n.of.Dash.special.variables...Da
24c40 73 68 2d 46 6f 6e 74 69 66 79 20 6d 6f 64 65 20 69 73 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 sh-Fontify.mode.is.a.buffer-loca
24c60 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 45 6d 61 63 73 0a l.minor.mode.intended.for.Emacs.
24c80 4c 69 73 70 20 62 75 66 66 65 72 73 2e 20 20 45 6e 61 62 6c 69 6e 67 20 69 74 20 63 61 75 73 65 Lisp.buffers...Enabling.it.cause
24ca0 73 20 74 68 65 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 20 69 6e s.the.special.variables.bound.in
24cc0 0a 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 6d 61 63 72 6f 73 20 74 6f 20 62 65 20 66 6f 6e .anaphoric.Dash.macros.to.be.fon
24ce0 74 69 66 69 65 64 2e 20 20 54 68 65 73 65 20 61 6e 61 70 68 6f 72 61 73 20 69 6e 63 6c 75 64 65 tified...These.anaphoras.include
24d00 0a 60 69 74 27 2c 20 60 69 74 2d 69 6e 64 65 78 27 2c 20 60 61 63 63 27 2c 20 61 6e 64 20 60 6f .`it',.`it-index',.`acc',.and.`o
24d20 74 68 65 72 27 2e 20 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 0a ther'...In.older.Emacs.versions.
24d40 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 which.do.not.dynamically.detect.
24d60 6d 61 63 72 6f 73 2c 20 44 61 73 68 2d 46 6f 6e 74 69 66 79 20 6d 6f 64 65 0a 61 64 64 69 74 69 macros,.Dash-Fontify.mode.additi
24d80 6f 6e 61 6c 6c 79 20 66 6f 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c onally.fontifies.Dash.macro.call
24da0 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 2d s...See.also.`dash-fontify-mode-
24dc0 6c 69 67 68 74 65 72 27 20 61 6e 64 0a 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 lighter'.and.`global-dash-fontif
24de0 79 2d 6d 6f 64 65 27 2e 22 0a 20 20 3a 6c 69 67 68 74 65 72 20 64 61 73 68 2d 66 6f 6e 74 69 66 y-mode'."...:lighter.dash-fontif
24e00 79 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 0a 20 20 28 69 66 20 64 61 73 68 2d 66 6f 6e 74 69 66 y-mode-lighter...(if.dash-fontif
24e20 79 2d 6d 6f 64 65 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 79 77 y-mode.......(font-lock-add-keyw
24e40 6f 72 64 73 20 6e 69 6c 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 20 74 29 0a 20 20 20 20 28 ords.nil.dash--keywords.t).....(
24e60 66 6f 6e 74 2d 6c 6f 63 6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64 73 20 6e 69 6c 20 64 61 font-lock-remove-keywords.nil.da
24e80 73 68 2d 2d 6b 65 79 77 6f 72 64 73 29 29 0a 20 20 28 73 74 61 74 69 63 2d 69 66 20 28 66 62 6f sh--keywords))...(static-if.(fbo
24ea0 75 6e 64 70 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 29 0a 20 20 20 20 20 20 3b 3b 20 undp.'font-lock-flush).......;;.
24ec0 41 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c Added.in.Emacs.25........(font-l
24ee0 6f 63 6b 2d 66 6c 75 73 68 29 0a 20 20 20 20 28 77 68 65 6e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d ock-flush).....(when.font-lock-m
24f00 6f 64 65 0a 20 20 20 20 20 20 3b 3b 20 55 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 6e 61 ode.......;;.Unconditionally.ena
24f20 62 6c 65 73 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 27 20 61 6e 64 20 69 73 20 6d 61 72 bles.`font-lock-mode'.and.is.mar
24f40 6b 65 64 0a 20 20 20 20 20 20 3b 3b 20 60 69 6e 74 65 72 61 63 74 69 76 65 2d 6f 6e 6c 79 27 20 ked.......;;.`interactive-only'.
24f60 69 6e 20 6c 61 74 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 68 61 in.later.Emacs.versions.which.ha
24f80 76 65 0a 20 20 20 20 20 20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 27 2e 0a 20 ve.......;;.`font-lock-flush'...
24fa0 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 29 .....(font-lock-fontify-buffer))
24fc0 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 ))..(defun.dash--turn-on-fontify
24fe0 2d 6d 6f 64 65 20 28 29 0a 20 20 22 45 6e 61 62 6c 65 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 -mode.()..."Enable.`dash-fontify
25000 2d 6d 6f 64 65 27 20 69 66 20 69 6e 20 61 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 -mode'.if.in.an.Emacs.Lisp.buffe
25020 72 2e 22 0a 20 20 28 77 68 65 6e 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 23 27 65 6d r."...(when.(derived-mode-p.#'em
25040 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 0a 20 20 20 20 28 64 61 73 68 2d 66 6f 6e 74 69 66 79 acs-lisp-mode).....(dash-fontify
25060 2d 6d 6f 64 65 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 -mode)))..;;;###autoload.(define
25080 2d 67 6c 6f 62 61 6c 69 7a 65 64 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 67 6c 6f 62 61 6c 2d 64 61 -globalized-minor-mode.global-da
250a0 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 20 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d sh-fontify-mode...dash-fontify-m
250c0 6f 64 65 20 64 61 73 68 2d 2d 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a ode.dash--turn-on-fontify-mode).
250e0 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 6c 6f 63 6b .(defcustom.dash-enable-fontlock
25100 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 66 6f 6e 74 69 66 79 20 44 61 73 68 .nil..."If.non-nil,.fontify.Dash
25120 20 6d 61 63 72 6f 20 63 61 6c 6c 73 20 61 6e 64 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c .macro.calls.and.special.variabl
25140 65 73 2e 22 0a 20 20 3a 73 65 74 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 20 76 61 6c 29 0a 20 20 es."...:set.(lambda.(sym.val)...
25160 20 20 20 20 20 20 20 28 73 65 74 2d 64 65 66 61 75 6c 74 20 73 79 6d 20 76 61 6c 29 0a 20 20 20 .......(set-default.sym.val)....
25180 20 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 ......(global-dash-fontify-mode.
251a0 28 69 66 20 76 61 6c 20 31 20 30 29 29 29 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 (if.val.1.0)))...:type.'boolean)
251c0 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 27 64 61 73 68 ..(make-obsolete-variable..'dash
251e0 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 6c 6f 63 6b 20 23 27 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 -enable-fontlock.#'global-dash-f
25200 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 22 32 2e 31 38 2e 30 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f ontify-mode."2.18.0")..(define-o
25220 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 0a 20 20 27 64 61 73 68 2d 65 bsolete-function-alias...'dash-e
25240 6e 61 62 6c 65 2d 66 6f 6e 74 2d 6c 6f 63 6b 20 23 27 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f nable-font-lock.#'global-dash-fo
25260 6e 74 69 66 79 2d 6d 6f 64 65 20 22 32 2e 31 38 2e 30 22 29 0a 0c 0a 3b 3b 3b 20 49 6e 66 6f 0a ntify-mode."2.18.0")...;;;.Info.
25280 0a 28 64 65 66 76 61 72 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 20 27 28 22 .(defvar.dash--info-doc-spec.'("
252a0 28 64 61 73 68 29 20 49 6e 64 65 78 22 20 6e 69 6c 20 22 5e 20 2d 2b 20 2e 2a 3a 20 22 20 22 5c (dash).Index".nil."^.-+..*:."."\
252c0 5c 28 20 5c 5c 7c 24 5c 5c 29 22 29 0a 20 20 22 54 68 65 20 44 61 73 68 20 3a 64 6f 63 2d 73 70 \(.\\|$\\)")..."The.Dash.:doc-sp
252e0 65 63 20 65 6e 74 72 79 20 66 6f 72 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 27 ec.entry.for.`info-lookup-alist'
25300 2e 0a 49 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 74 68 61 74 20 66 6f 72 20 60 65 6d 61 63 73 ..It.is.based.on.that.for.`emacs
25320 2d 6c 69 73 70 2d 6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 69 6e 66 -lisp-mode'.")..(defun.dash--inf
25340 6f 2d 65 6c 69 73 70 2d 64 6f 63 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 65 o-elisp-docs.()..."Return.the.`e
25360 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 27 20 73 79 6d 62 6f 6c 20 64 6f 63 73 20 66 72 6f 6d macs-lisp-mode'.symbol.docs.from
25380 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 27 2e 0a 53 70 65 63 69 66 69 63 61 6c .`info-lookup-alist'..Specifical
253a0 6c 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 ly,.return.the.cons.containing.t
253c0 68 65 69 72 0a 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 3e 64 6f 63 2d 73 70 65 63 27 20 73 6f 20 heir.`info-lookup->doc-spec'.so.
253e0 74 68 61 74 20 77 65 20 63 61 6e 20 6d 6f 64 69 66 79 20 69 74 2e 22 0a 20 20 28 64 65 66 76 61 that.we.can.modify.it."...(defva
25400 72 20 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 29 0a 20 20 28 6e 74 68 63 64 72 20 33 r.info-lookup-alist)...(nthcdr.3
25420 20 28 61 73 73 71 20 23 27 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 28 63 64 72 20 28 61 .(assq.#'emacs-lisp-mode.(cdr.(a
25440 73 73 71 20 27 73 79 6d 62 6f 6c 20 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 29 29 29 ssq.'symbol.info-lookup-alist)))
25460 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 72 ))..;;;###autoload.(defun.dash-r
25480 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 20 28 29 0a 20 20 22 52 65 67 69 73 74 egister-info-lookup.()..."Regist
254a0 65 72 20 74 68 65 20 44 61 73 68 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 20 77 69 74 68 20 60 69 6e er.the.Dash.Info.manual.with.`in
254c0 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 27 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 44 fo-lookup-symbol'..This.allows.D
254e0 61 73 68 20 73 79 6d 62 6f 6c 73 20 74 6f 20 62 65 20 6c 6f 6f 6b 65 64 20 75 70 20 77 69 74 68 ash.symbols.to.be.looked.up.with
25500 20 5c 5c 5b 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 5d 2e 22 0a 20 20 28 69 6e 74 .\\[info-lookup-symbol]."...(int
25520 65 72 61 63 74 69 76 65 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 eractive)...(require.'info-look)
25540 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 73 20 28 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 ...(let.((docs.(dash--info-elisp
25560 2d 64 6f 63 73 29 29 29 0a 20 20 20 20 28 73 65 74 63 61 72 20 64 6f 63 73 20 28 61 70 70 65 6e -docs))).....(setcar.docs.(appen
25580 64 20 28 63 61 72 20 64 6f 63 73 29 20 28 6c 69 73 74 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f d.(car.docs).(list.dash--info-do
255a0 63 2d 73 70 65 63 29 29 29 0a 20 20 20 20 28 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 72 65 73 65 74 c-spec))).....(info-lookup-reset
255c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 75 6e 6c 6f 61 64 2d 66 75 6e 63 74 69 6f 6e )))..(defun.dash-unload-function
255e0 20 28 29 0a 20 20 22 52 65 6d 6f 76 65 20 44 61 73 68 20 66 72 6f 6d 20 60 69 6e 66 6f 2d 6c 6f .()..."Remove.Dash.from.`info-lo
25600 6f 6b 75 70 2d 61 6c 69 73 74 27 2e 0a 55 73 65 64 20 62 79 20 60 75 6e 6c 6f 61 64 2d 66 65 61 okup-alist'..Used.by.`unload-fea
25620 74 75 72 65 27 2c 20 77 68 69 63 68 20 73 65 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 73 ture',.which.see."...(let.((docs
25640 20 28 61 6e 64 20 28 66 65 61 74 75 72 65 70 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 0a 20 20 20 20 .(and.(featurep.'info-look).....
25660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 ...............(dash--info-elisp
25680 2d 64 6f 63 73 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6d 65 6d 62 65 72 20 64 61 73 68 -docs)))).....(when.(member.dash
256a0 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 20 28 63 61 72 20 64 6f 63 73 29 29 0a 20 20 20 20 --info-doc-spec.(car.docs)).....
256c0 20 20 28 73 65 74 63 61 72 20 64 6f 63 73 20 28 72 65 6d 6f 76 65 20 64 61 73 68 2d 2d 69 6e 66 ..(setcar.docs.(remove.dash--inf
256e0 6f 2d 64 6f 63 2d 73 70 65 63 20 28 63 61 72 20 64 6f 63 73 29 29 29 0a 20 20 20 20 20 20 28 69 o-doc-spec.(car.docs))).......(i
25700 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 72 65 73 65 74 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 28 70 72 6f nfo-lookup-reset)))...nil)..(pro
25720 76 69 64 65 20 27 64 61 73 68 29 0a 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 65 6e 64 73 20 68 65 72 vide.'dash).;;;.dash.el.ends.her
25740 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e...............................
25760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25800 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 61 73 68 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 dash-2.20.0/dash-pkg.el.........
25820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
25880 30 30 30 30 36 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 37 37 00 20 30 00 00 00 0000637.00000000000.013177..0...
258a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
258c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
258e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
25920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
25940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25a00 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
25a20 20 66 72 6f 6d 20 64 61 73 68 2e 65 6c 20 20 2d 2a 2d 20 6d 6f 64 65 3a 20 6c 69 73 70 2d 64 61 .from.dash.el..-*-.mode:.lisp-da
25a40 74 61 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 ta;.no-byte-compile:.t.-*-.(defi
25a60 6e 65 2d 70 61 63 6b 61 67 65 20 22 64 61 73 68 22 20 22 32 2e 32 30 2e 30 22 20 22 41 20 6d 6f ne-package."dash"."2.20.0"."A.mo
25a80 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 73 22 20 27 28 28 dern.list.library.for.Emacs".'((
25aa0 65 6d 61 63 73 20 22 32 34 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 66 63 62 35 64 38 33 31 66 63 emacs."24")).:commit."fcb5d831fc
25ac0 30 38 61 34 33 66 39 38 34 32 34 32 63 37 35 30 39 38 37 30 66 33 30 39 38 33 63 32 37 63 22 20 08a43f984242c7509870f30983c27c".
25ae0 3a 61 75 74 68 6f 72 73 20 27 28 28 22 4d 61 67 6e 61 72 20 53 76 65 65 6e 22 20 2e 20 22 6d 61 :authors.'(("Magnar.Sveen"..."ma
25b00 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 gnars@gmail.com")).:maintainer.'
25b20 28 22 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 22 20 2e 20 22 62 61 ("Basil.L..Contovounesios"..."ba
25b40 73 69 6c 40 63 6f 6e 74 6f 76 6f 75 2e 6e 65 74 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 sil@contovou.net").:keywords.'("
25b60 65 78 74 65 6e 73 69 6f 6e 73 22 20 22 6c 69 73 70 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a extensions"."lisp").:url."https:
25b80 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 22 29 0a 00 //github.com/magnars/dash.el")..
25ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25c00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 4d 61 6b 65 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/Makefile............
25c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
25c80 30 30 30 34 31 31 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 36 30 36 00 20 30 00 00 00 0004111.00000000000.012606..0...
25ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
25d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
25d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e00 23 20 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 44 61 73 68 2e 0a 0a 23 20 43 6f 70 79 72 69 67 68 #.Makefile.for.Dash...#.Copyrigh
25e20 74 20 28 43 29 20 32 30 32 31 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f t.(C).2021-2025.Free.Software.Fo
25e40 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 undation,.Inc..#.#.This.program.
25e60 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 is.free.software:.you.can.redist
25e80 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 69 74 20 75 6e 64 ribute.it.and/or.modify.#.it.und
25ea0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
25ec0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 Public.License.as.published.by.#
25ee0 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 .the.Free.Software.Foundation,.e
25f00 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 ither.version.3.of.the.License,.
25f20 6f 72 0a 23 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 or.#.(at.your.option).any.later.
25f40 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 version..#.#.This.program.is.dis
25f60 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c tributed.in.the.hope.that.it.wil
25f80 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 l.be.useful,.#.but.WITHOUT.ANY.W
25fa0 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 ARRANTY;.without.even.the.implie
25fc0 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 d.warranty.of.#.MERCHANTABILITY.
25fe0 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 or.FITNESS.FOR.A.PARTICULAR.PURP
26000 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c OSE...See.the.#.GNU.General.Publ
26020 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 ic.License.for.more.details..#.#
26040 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 .You.should.have.received.a.copy
26060 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e .of.the.GNU.General.Public.Licen
26080 73 65 0a 23 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 se.#.along.with.this.program...I
260a0 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f f.not,.see.<https://www.gnu.org/
260c0 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 23 20 56 61 72 69 61 62 6c 65 73 2e 0a 0a 45 4d 41 43 53 licenses/>...#.Variables...EMACS
260e0 20 3f 3d 20 65 6d 61 63 73 0a 62 61 74 63 68 20 3a 3d 20 24 28 45 4d 41 43 53 29 20 2d 51 20 2d .?=.emacs.batch.:=.$(EMACS).-Q.-
26100 62 61 74 63 68 20 2d 4c 20 2e 0a 65 6c 73 20 3a 3d 20 64 61 73 68 2e 65 6c 20 64 65 76 2f 64 61 batch.-L...els.:=.dash.el.dev/da
26120 73 68 2d 64 65 66 73 2e 65 6c 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 0a 65 6c 63 73 20 sh-defs.el.dev/examples.el.elcs.
26140 3a 3d 20 24 28 61 64 64 73 75 66 66 69 78 20 63 2c 24 28 65 6c 73 29 29 0a 64 6f 63 73 20 3a 3d :=.$(addsuffix.c,$(els)).docs.:=
26160 20 52 45 41 44 4d 45 2e 6d 64 20 64 61 73 68 2e 74 65 78 69 0a 74 6d 70 6c 73 20 3a 3d 20 72 65 .README.md.dash.texi.tmpls.:=.re
26180 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 20 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 adme-template.md.dash-template.t
261a0 65 78 69 20 24 28 77 69 6c 64 63 61 72 64 20 64 6f 63 2f 2a 2e 74 65 78 69 29 0a 0a 23 20 54 61 exi.$(wildcard.doc/*.texi)..#.Ta
261c0 72 67 65 74 73 2e 0a 0a 6c 69 73 70 3a 20 24 28 65 6c 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 6c 69 rgets...lisp:.$(elcs)..PHONY:.li
261e0 73 70 0a 0a 64 6f 63 73 3a 20 24 28 64 6f 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 64 6f 63 73 0a 0a sp..docs:.$(docs)..PHONY:.docs..
26200 66 6f 72 63 65 2d 64 6f 63 73 3a 20 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 20 64 6f 63 force-docs:.maintainer-clean.doc
26220 73 0a 2e 50 48 4f 4e 59 3a 20 66 6f 72 63 65 2d 64 6f 63 73 0a 0a 23 20 45 52 54 5f 53 45 4c 45 s..PHONY:.force-docs..#.ERT_SELE
26240 43 54 4f 52 20 69 73 20 61 20 4c 69 73 70 20 65 78 70 72 65 73 73 69 6f 6e 20 64 65 74 65 72 6d CTOR.is.a.Lisp.expression.determ
26260 69 6e 69 6e 67 20 77 68 69 63 68 20 74 65 73 74 73 20 74 6f 20 72 75 6e 2e 0a 23 20 49 74 73 20 ining.which.tests.to.run..#.Its.
26280 66 6f 72 6d 61 74 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 28 69 6e 66 6f 20 22 28 65 format.is.described.in.(info."(e
262a0 72 74 29 20 54 65 73 74 20 53 65 6c 65 63 74 6f 72 73 22 29 2e 20 20 49 74 0a 23 20 64 65 66 61 rt).Test.Selectors")...It.#.defa
262c0 75 6c 74 73 20 74 6f 20 73 65 6c 65 63 74 69 6e 67 20 61 6c 6c 20 74 65 73 74 73 2e 20 20 4e 6f ults.to.selecting.all.tests...No
262e0 74 65 20 74 68 61 74 20 69 6e 20 62 61 74 63 68 20 6d 6f 64 65 2c 20 61 20 6e 69 6c 0a 23 20 73 te.that.in.batch.mode,.a.nil.#.s
26300 65 6c 65 63 74 6f 72 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 2e 0a 63 68 65 63 6b 3a elector.is.the.same.as.t..check:
26320 20 45 52 54 5f 53 45 4c 45 43 54 4f 52 20 3f 3d 20 74 0a 63 68 65 63 6b 3a 20 72 75 6e 20 3a 3d .ERT_SELECTOR.?=.t.check:.run.:=
26340 20 27 28 65 72 74 2d 72 75 6e 2d 74 65 73 74 73 2d 62 61 74 63 68 2d 61 6e 64 2d 65 78 69 74 20 .'(ert-run-tests-batch-and-exit.
26360 28 71 75 6f 74 65 20 24 28 45 52 54 5f 53 45 4c 45 43 54 4f 52 29 29 29 27 0a 63 68 65 63 6b 3a (quote.$(ERT_SELECTOR)))'.check:
26380 20 6c 69 73 70 0a 09 45 4d 41 43 53 5f 54 45 53 54 5f 56 45 52 42 4f 53 45 3d 31 20 24 28 62 61 .lisp..EMACS_TEST_VERBOSE=1.$(ba
263a0 74 63 68 29 20 2d 6c 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 20 2d 65 76 61 6c 20 24 28 72 75 6e tch).-l.dev/examples.-eval.$(run
263c0 29 0a 2e 50 48 4f 4e 59 3a 20 63 68 65 63 6b 0a 0a 61 6c 6c 3a 20 6c 69 73 70 20 64 6f 63 73 20 )..PHONY:.check..all:.lisp.docs.
263e0 63 68 65 63 6b 0a 2e 50 48 4f 4e 59 3a 20 61 6c 6c 0a 0a 66 6f 72 63 65 2d 61 6c 6c 3a 20 6d 61 check..PHONY:.all..force-all:.ma
26400 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 20 6c 69 73 70 20 64 6f 63 73 20 63 68 65 63 6b 0a 2e intainer-clean.lisp.docs.check..
26420 50 48 4f 4e 59 3a 20 66 6f 72 63 65 2d 61 6c 6c 0a 0a 63 6c 65 61 6e 3a 0a 09 24 28 52 4d 29 20 PHONY:.force-all..clean:..$(RM).
26440 24 28 65 6c 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65 61 6e 0a 0a 6d 61 69 6e 74 61 69 6e 65 $(elcs)..PHONY:.clean..maintaine
26460 72 2d 63 6c 65 61 6e 3a 20 76 65 72 20 3a 3d 20 32 36 0a 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c r-clean:.ver.:=.26.maintainer-cl
26480 65 61 6e 3a 20 6d 73 67 20 3a 3d 20 44 6f 63 20 72 65 67 65 6e 65 72 61 74 69 6f 6e 20 72 65 71 ean:.msg.:=.Doc.regeneration.req
264a0 75 69 72 65 73 20 24 28 76 65 72 29 2b 0a 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 uires.$(ver)+.maintainer-clean:.
264c0 63 6c 65 61 6e 0a 09 24 28 62 61 74 63 68 29 20 2d 65 76 61 6c 20 27 28 69 66 20 28 3c 20 65 6d clean..$(batch).-eval.'(if.(<.em
264e0 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 24 28 76 65 72 29 29 20 28 65 72 72 6f 72 acs-major-version.$(ver)).(error
26500 20 22 24 28 6d 73 67 29 22 29 29 27 0a 09 24 28 52 4d 29 20 24 28 64 6f 63 73 29 0a 2e 50 48 4f ."$(msg)"))'..$(RM).$(docs)..PHO
26520 4e 59 3a 20 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 0a 0a 23 20 46 69 6c 65 73 2e 0a 0a NY:.maintainer-clean..#.Files...
26540 25 2e 65 6c 63 3a 20 57 45 52 52 4f 52 20 3a 3d 20 27 28 73 65 74 71 20 62 79 74 65 2d 63 6f 6d %.elc:.WERROR.:=.'(setq.byte-com
26560 70 69 6c 65 2d 65 72 72 6f 72 2d 6f 6e 2d 77 61 72 6e 20 74 29 27 0a 25 2e 65 6c 63 3a 20 25 2e pile-error-on-warn.t)'.%.elc:.%.
26580 65 6c 0a 09 24 28 62 61 74 63 68 29 20 2d 65 76 61 6c 20 24 28 57 45 52 52 4f 52 29 20 2d 66 20 el..$(batch).-eval.$(WERROR).-f.
265a0 62 61 74 63 68 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 24 3c 0a 0a 24 28 64 6f 63 73 29 20 26 batch-byte-compile.$<..$(docs).&
265c0 3a 20 24 28 65 6c 63 73 29 20 24 28 74 6d 70 6c 73 29 0a 09 24 28 62 61 74 63 68 29 20 2d 6c 20 :.$(elcs).$(tmpls)..$(batch).-l.
265e0 64 65 76 2f 65 78 61 6d 70 6c 65 73 20 2d 66 20 64 61 73 68 2d 6d 61 6b 65 2d 64 6f 63 73 0a 0a dev/examples.-f.dash-make-docs..
26600 64 65 76 2f 64 61 73 68 2d 64 65 66 73 2e 65 6c 63 3a 20 64 61 73 68 2e 65 6c 63 0a 64 65 76 2f dev/dash-defs.elc:.dash.elc.dev/
26620 65 78 61 6d 70 6c 65 73 2e 65 6c 63 3a 20 64 61 73 68 2e 65 6c 63 20 64 65 76 2f 64 61 73 68 2d examples.elc:.dash.elc.dev/dash-
26640 64 65 66 73 2e 65 6c 63 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 defs.elc........................
26660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
266a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
266c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
266e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
267a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
267c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
267e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26800 64 61 73 68 2d 32 2e 32 30 2e 30 2f 43 61 73 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/Cask................
26820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26880 30 30 30 30 30 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 34 37 00 20 30 00 00 00 0000031.00000000000.011747..0...
268a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
268c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
268e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
26920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
269a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
269c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
269e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a00 28 70 61 63 6b 61 67 65 2d 66 69 6c 65 20 22 64 61 73 68 2e 65 6c 22 29 0a 00 00 00 00 00 00 00 (package-file."dash.el")........
26a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 65 76 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/dev/................
26c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
26c80 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 32 37 00 20 35 00 00 00 0000000.00000000000.011727..5...
26ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
26d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/LICENSE.............
26e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26e80 30 31 30 34 35 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 31 36 34 00 20 30 00 00 00 0104515.00000000000.012164..0...
26ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
26f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
27020 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
27040 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a 0a 20 ......Version.3,.29.June.2007...
27060 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 Copyright.(C).2007.Free.Software
27080 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f .Foundation,.Inc..<https://fsf.o
270a0 72 67 2f 3e 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 rg/>..Everyone.is.permitted.to.c
270c0 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 opy.and.distribute.verbatim.copi
270e0 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 es..of.this.license.document,.bu
27100 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 t.changing.it.is.not.allowed....
27120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 61 6d ...........................Pream
27140 62 6c 65 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ble....The.GNU.General.Public.Li
27160 63 65 6e 73 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 cense.is.a.free,.copyleft.licens
27180 65 20 66 6f 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f e.for.software.and.other.kinds.o
271a0 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 f.works.....The.licenses.for.mos
271c0 74 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 t.software.and.other.practical.w
271e0 6f 72 6b 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 orks.are.designed.to.take.away.y
27200 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 our.freedom.to.share.and.change.
27220 74 68 65 20 77 6f 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 the.works...By.contrast,.the.GNU
27240 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e .General.Public.License.is.inten
27260 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f ded.to.guarantee.your.freedom.to
27280 0a 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f .share.and.change.all.versions.o
272a0 66 20 61 20 70 72 6f 67 72 61 6d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d f.a.program--to.make.sure.it.rem
272c0 61 69 6e 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 ains.free.software.for.all.its.u
272e0 73 65 72 73 2e 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 sers...We,.the.Free.Software.Fou
27300 6e 64 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ndation,.use.the.GNU.General.Pub
27320 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 lic.License.for.most.of.our.soft
27340 77 61 72 65 3b 20 69 74 20 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 ware;.it.applies.also.to.any.oth
27360 65 72 20 77 6f 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 er.work.released.this.way.by.its
27380 20 61 75 74 68 6f 72 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 .authors...You.can.apply.it.to.y
273a0 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 our.programs,.too.....When.we.sp
273c0 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 eak.of.free.software,.we.are.ref
273e0 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f erring.to.freedom,.not.price...O
27400 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 ur.General.Public.Licenses.are.d
27420 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 esigned.to.make.sure.that.you.ha
27440 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 ve.the.freedom.to.distribute.cop
27460 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 ies.of.free.software.(and.charge
27480 20 66 6f 72 0a 74 68 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 .for.them.if.you.wish),.that.you
274a0 20 72 65 63 65 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 .receive.source.code.or.can.get.
274c0 69 74 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 it.if.you.want.it,.that.you.can.
274e0 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 change.the.software.or.use.piece
27500 73 20 6f 66 20 69 74 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e s.of.it.in.new.free.programs,.an
27520 64 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 d.that.you.know.you.can.do.these
27540 20 74 68 69 6e 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 .things.....To.protect.your.righ
27560 74 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 ts,.we.need.to.prevent.others.fr
27580 6f 6d 20 64 65 6e 79 69 6e 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 om.denying.you.these.rights.or.a
275a0 73 6b 69 6e 67 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 sking.you.to.surrender.the.right
275c0 73 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 s...Therefore,.you.have.certain.
275e0 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 responsibilities.if.you.distribu
27600 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 te.copies.of.the.software,.or.if
27620 0a 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 .you.modify.it:.responsibilities
27640 20 74 6f 20 72 65 73 70 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 .to.respect.the.freedom.of.other
27660 73 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 s.....For.example,.if.you.distri
27680 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 bute.copies.of.such.a.program,.w
276a0 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 hether.gratis.or.for.a.fee,.you.
276c0 6d 75 73 74 20 70 61 73 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 must.pass.on.to.the.recipients.t
276e0 68 65 20 73 61 6d 65 0a 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 he.same.freedoms.that.you.receiv
27700 65 64 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 ed...You.must.make.sure.that.the
27720 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 y,.too,.receive.or.can.get.the.s
27740 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 ource.code...And.you.must.show.t
27760 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 hem.these.terms.so.they.know.the
27780 69 72 20 72 69 67 68 74 73 2e 0a 0a 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 ir.rights.....Developers.that.us
277a0 65 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 e.the.GNU.GPL.protect.your.right
277c0 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 s.with.two.steps:.(1).assert.cop
277e0 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 yright.on.the.software,.and.(2).
27800 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f offer.you.this.License.giving.yo
27820 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 u.legal.permission.to.copy,.dist
27840 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 ribute.and/or.modify.it.....For.
27860 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f the.developers'.and.authors'.pro
27880 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e tection,.the.GPL.clearly.explain
278a0 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
278c0 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 this.free.software...For.both.us
278e0 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 ers'.and.authors'.sake,.the.GPL.
27900 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 requires.that.modified.versions.
27920 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 be.marked.as.changed,.so.that.th
27940 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 eir.problems.will.not.be.attribu
27960 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 ted.erroneously.to.authors.of.pr
27980 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 53 6f 6d 65 20 64 65 76 69 63 65 73 evious.versions.....Some.devices
279a0 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 .are.designed.to.deny.users.acce
279c0 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 ss.to.install.or.run.modified.ve
279e0 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 rsions.of.the.software.inside.th
27a00 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 0a 63 61 em,.although.the.manufacturer.ca
27a20 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 n.do.so...This.is.fundamentally.
27a40 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a 70 72 6f incompatible.with.the.aim.of.pro
27a60 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 tecting.users'.freedom.to.change
27a80 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 74 69 63 0a 70 .the.software...The.systematic.p
27aa0 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 attern.of.such.abuse.occurs.in.t
27ac0 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 he.area.of.products.for.individu
27ae0 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 als.to.use,.which.is.precisely.w
27b00 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 20 20 54 here.it.is.most.unacceptable...T
27b20 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 herefore,.we.have.designed.this.
27b40 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 version.of.the.GPL.to.prohibit.t
27b60 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 63 74 73 2e 20 he.practice.for.those.products..
27b80 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 .If.such.problems.arise.substant
27ba0 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a 73 74 61 6e 64 ially.in.other.domains,.we.stand
27bc0 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 .ready.to.extend.this.provision.
27be0 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 to.those.domains.in.future.versi
27c00 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f ons.of.the.GPL,.as.needed.to.pro
27c20 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a 0a 20 20 46 69 tect.the.freedom.of.users.....Fi
27c40 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e nally,.every.program.is.threaten
27c60 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 70 61 74 65 6e 74 ed.constantly.by.software.patent
27c80 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 61 74 65 6e s..States.should.not.allow.paten
27ca0 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 75 ts.to.restrict.development.and.u
27cc0 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 se.of.software.on.general-purpos
27ce0 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 74 68 61 74 20 64 e.computers,.but.in.those.that.d
27d00 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 65 63 69 61 6c 20 o,.we.wish.to.avoid.the.special.
27d20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 danger.that.patents.applied.to.a
27d40 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 74 20 65 66 66 65 .free.program.could.make.it.effe
27d60 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 ctively.proprietary...To.prevent
27d80 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 74 0a 70 61 74 65 .this,.the.GPL.assures.that.pate
27da0 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 nts.cannot.be.used.to.render.the
27dc0 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 73 .program.non-free.....The.precis
27de0 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 e.terms.and.conditions.for.copyi
27e00 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f ng,.distribution.and.modificatio
27e20 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.follow........................
27e40 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 30 2e 20 44 65 66 ..TERMS.AND.CONDITIONS....0..Def
27e60 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 22 54 68 69 73 20 4c 69 63 65 6e 73 65 22 20 72 65 66 65 initions....."This.License".refe
27e80 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rs.to.version.3.of.the.GNU.Gener
27ea0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 22 43 6f 70 79 72 69 67 68 74 al.Public.License....."Copyright
27ec0 22 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 ".also.means.copyright-like.laws
27ee0 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 0a 77 6f .that.apply.to.other.kinds.of.wo
27f00 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 73 6b 73 rks,.such.as.semiconductor.masks
27f20 2e 0a 0a 20 20 22 54 68 65 20 50 72 6f 67 72 61 6d 22 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 ....."The.Program".refers.to.any
27f40 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 .copyrightable.work.licensed.und
27f60 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 er.this.License...Each.licensee.
27f80 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 20 20 22 4c 69 63 65 6e 73 65 is.addressed.as."you"..."License
27fa0 65 73 22 20 61 6e 64 0a 22 72 65 63 69 70 69 65 6e 74 73 22 20 6d 61 79 20 62 65 20 69 6e 64 69 es".and."recipients".may.be.indi
27fc0 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 54 6f 20 viduals.or.organizations.....To.
27fe0 22 6d 6f 64 69 66 79 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 "modify".a.work.means.to.copy.fr
28000 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 om.or.adapt.all.or.part.of.the.w
28020 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 ork.in.a.fashion.requiring.copyr
28040 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 ight.permission,.other.than.the.
28060 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 0a 65 78 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 making.of.an.exact.copy...The.re
28080 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 6d 6f 64 69 66 69 sulting.work.is.called.a."modifi
280a0 65 64 20 76 65 72 73 69 6f 6e 22 20 6f 66 20 74 68 65 0a 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 ed.version".of.the.earlier.work.
280c0 6f 72 20 61 20 77 6f 72 6b 20 22 62 61 73 65 64 20 6f 6e 22 20 74 68 65 20 65 61 72 6c 69 65 72 or.a.work."based.on".the.earlier
280e0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 63 6f 76 65 72 65 64 20 77 6f 72 6b 22 20 6d 65 61 6e 73 .work.....A."covered.work".means
28100 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f .either.the.unmodified.Program.o
28120 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a r.a.work.based.on.the.Program...
28140 20 20 54 6f 20 22 70 72 6f 70 61 67 61 74 65 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f ..To."propagate".a.work.means.to
28160 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f .do.anything.with.it.that,.witho
28180 75 74 0a 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 ut.permission,.would.make.you.di
281a0 72 65 63 74 6c 79 20 6f 72 20 73 65 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 rectly.or.secondarily.liable.for
281c0 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 .infringement.under.applicable.c
281e0 6f 70 79 72 69 67 68 74 20 6c 61 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 opyright.law,.except.executing.i
28200 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 t.on.a.computer.or.modifying.a.p
28220 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 rivate.copy...Propagation.includ
28240 65 73 20 63 6f 70 79 69 6e 67 2c 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f es.copying,.distribution.(with.o
28260 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 r.without.modification),.making.
28280 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 available.to.the.public,.and.in.
282a0 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 some.countries.other.activities.
282c0 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 54 6f 20 22 63 6f 6e 76 65 79 22 20 61 20 77 6f 72 6b 20 6d as.well.....To."convey".a.work.m
282e0 65 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 eans.any.kind.of.propagation.tha
28300 74 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 t.enables.other.parties.to.make.
28320 6f 72 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 or.receive.copies...Mere.interac
28340 74 69 6f 6e 20 77 69 74 68 20 61 20 75 73 65 72 20 74 68 72 6f 75 67 68 0a 61 20 63 6f 6d 70 75 tion.with.a.user.through.a.compu
28360 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 ter.network,.with.no.transfer.of
28380 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 41 6e .a.copy,.is.not.conveying.....An
283a0 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 .interactive.user.interface.disp
283c0 6c 61 79 73 20 22 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 22 lays."Appropriate.Legal.Notices"
283e0 0a 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 .to.the.extent.that.it.includes.
28400 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 a.convenient.and.prominently.vis
28420 69 62 6c 65 0a 66 65 61 74 75 72 65 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 ible.feature.that.(1).displays.a
28440 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 n.appropriate.copyright.notice,.
28460 61 6e 64 20 28 32 29 0a 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 and.(2).tells.the.user.that.ther
28480 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 e.is.no.warranty.for.the.work.(e
284a0 78 63 65 70 74 20 74 6f 20 74 68 65 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 xcept.to.the.extent.that.warrant
284c0 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 ies.are.provided),.that.licensee
284e0 73 20 6d 61 79 20 63 6f 6e 76 65 79 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 s.may.convey.the.work.under.this
28500 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 .License,.and.how.to.view.a.copy
28520 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 .of.this.License...If.the.interf
28540 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d ace.presents.a.list.of.user.comm
28560 61 6e 64 73 20 6f 72 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c ands.or.options,.such.as.a.menu,
28580 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 .a.prominent.item.in.the.list.me
285a0 65 74 73 20 74 68 69 73 20 63 72 69 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 ets.this.criterion.....1..Source
285c0 20 43 6f 64 65 2e 0a 0a 20 20 54 68 65 20 22 73 6f 75 72 63 65 20 63 6f 64 65 22 20 66 6f 72 20 .Code.....The."source.code".for.
285e0 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 a.work.means.the.preferred.form.
28600 6f 66 20 74 68 65 20 77 6f 72 6b 0a 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 of.the.work.for.making.modificat
28620 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 22 4f 62 6a 65 63 74 20 63 6f 64 65 22 20 6d 65 61 6e 73 ions.to.it..."Object.code".means
28640 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 6b 2e 0a .any.non-source.form.of.a.work..
28660 0a 20 20 41 20 22 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 22 20 6d 65 61 6e 73 20 ...A."Standard.Interface".means.
28680 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f an.interface.that.either.is.an.o
286a0 66 66 69 63 69 61 6c 0a 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 fficial.standard.defined.by.a.re
286c0 63 6f 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 cognized.standards.body,.or,.in.
286e0 74 68 65 20 63 61 73 65 20 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 the.case.of.interfaces.specified
28700 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 .for.a.particular.programming.la
28720 6e 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 nguage,.one.that.is.widely.used.
28740 61 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 among.developers.working.in.that
28760 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 54 68 65 20 22 53 79 73 74 65 6d 20 4c 69 62 72 61 72 .language.....The."System.Librar
28780 69 65 73 22 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 ies".of.an.executable.work.inclu
287a0 64 65 20 61 6e 79 74 68 69 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b de.anything,.other.than.the.work
287c0 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 .as.a.whole,.that.(a).is.include
287e0 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e d.in.the.normal.form.of.packagin
28800 67 20 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 g.a.Major.Component,.but.which.i
28820 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 s.not.part.of.that.Major.Compone
28840 6e 74 2c 20 61 6e 64 20 28 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c nt,.and.(b).serves.only.to.enabl
28860 65 20 75 73 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f e.use.of.the.work.with.that.Majo
28880 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 r.Component,.or.to.implement.a.S
288a0 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 tandard.Interface.for.which.an.i
288c0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 mplementation.is.available.to.th
288e0 65 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 e.public.in.source.code.form...A
28900 0a 22 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 22 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 ."Major.Component",.in.this.cont
28920 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d ext,.means.a.major.essential.com
28940 70 6f 6e 65 6e 74 0a 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 ponent.(kernel,.window.system,.a
28960 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 nd.so.on).of.the.specific.operat
28980 69 6e 67 20 73 79 73 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 ing.system.(if.any).on.which.the
289a0 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 .executable.work.runs,.or.a.comp
289c0 69 6c 65 72 20 75 73 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f iler.used.to.produce.the.work,.o
289e0 72 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 r.an.object.code.interpreter.use
28a00 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 54 68 65 20 22 43 6f 72 72 65 73 70 6f 6e 64 69 d.to.run.it.....The."Correspondi
28a20 6e 67 20 53 6f 75 72 63 65 22 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 ng.Source".for.a.work.in.object.
28a40 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 code.form.means.all.the.source.c
28a60 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c ode.needed.to.generate,.install,
28a80 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 .and.(for.an.executable.work).ru
28aa0 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 n.the.object.code.and.to.modify.
28ac0 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 the.work,.including.scripts.to.c
28ae0 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 ontrol.those.activities...Howeve
28b00 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 r,.it.does.not.include.the.work'
28b20 73 0a 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 s.System.Libraries,.or.general-p
28b40 75 72 70 6f 73 65 20 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 urpose.tools.or.generally.availa
28b60 62 6c 65 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 ble.free.programs.which.are.used
28b80 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 .unmodified.in.performing.those.
28ba0 61 63 74 69 76 69 74 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 activities.but.which.are.not.par
28bc0 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 t.of.the.work...For.example,.Cor
28be0 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 responding.Source.includes.inter
28c00 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 face.definition.files.associated
28c20 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c .with.source.files.for.the.work,
28c40 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 .and.the.source.code.for.shared.
28c60 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 libraries.and.dynamically.linked
28c80 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 .subprograms.that.the.work.is.sp
28ca0 65 63 69 66 69 63 61 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a ecifically.designed.to.require,.
28cc0 73 75 63 68 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 such.as.by.intimate.data.communi
28ce0 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 cation.or.control.flow.between.t
28d00 68 6f 73 65 0a 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 hose.subprograms.and.other.parts
28d20 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .of.the.work.....The.Correspondi
28d40 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 ng.Source.need.not.include.anyth
28d60 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 0a 63 61 6e 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 ing.that.users.can.regenerate.au
28d80 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 tomatically.from.other.parts.of.
28da0 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 53 6f 75 72 63 65 2e 0a 0a 20 20 54 68 65 the.Corresponding.Source.....The
28dc0 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b .Corresponding.Source.for.a.work
28de0 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 73 61 6d .in.source.code.form.is.that.sam
28e00 65 20 77 6f 72 6b 2e 0a 0a 20 20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e e.work.....2..Basic.Permissions.
28e20 0a 0a 20 20 41 6c 6c 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 ....All.rights.granted.under.thi
28e40 73 20 4c 69 63 65 6e 73 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 s.License.are.granted.for.the.te
28e60 72 6d 20 6f 66 0a 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 rm.of.copyright.on.the.Program,.
28e80 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 and.are.irrevocable.provided.the
28ea0 20 73 74 61 74 65 64 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 .stated.conditions.are.met...Thi
28ec0 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 s.License.explicitly.affirms.you
28ee0 72 20 75 6e 6c 69 6d 69 74 65 64 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 r.unlimited.permission.to.run.th
28f00 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 e.unmodified.Program...The.outpu
28f20 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 t.from.running.a.covered.work.is
28f40 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 .covered.by.this.License.only.if
28f60 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 .the.output,.given.its.content,.
28f80 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 constitutes.a.covered.work...Thi
28fa0 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 s.License.acknowledges.your.righ
28fc0 74 73 20 6f 66 20 66 61 69 72 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 ts.of.fair.use.or.other.equivale
28fe0 6e 74 2c 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 nt,.as.provided.by.copyright.law
29000 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 .....You.may.make,.run.and.propa
29020 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e gate.covered.works.that.you.do.n
29040 6f 74 0a 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f ot.convey,.without.conditions.so
29060 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 .long.as.your.license.otherwise.
29080 72 65 6d 61 69 6e 73 0a 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 remains.in.force...You.may.conve
290a0 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 y.covered.works.to.others.for.th
290c0 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 0a 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 e.sole.purpose.of.having.them.ma
290e0 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 ke.modifications.exclusively.for
29100 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 65 20 79 6f 75 0a 77 69 74 68 20 66 61 63 69 6c 69 .you,.or.provide.you.with.facili
29120 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 ties.for.running.those.works,.pr
29140 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 0a 74 68 65 20 ovided.that.you.comply.with.the.
29160 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 terms.of.this.License.in.conveyi
29180 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f ng.all.material.for.which.you.do
291a0 0a 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 .not.control.copyright...Those.t
291c0 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 hus.making.or.running.the.covere
291e0 64 20 77 6f 72 6b 73 0a 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 d.works.for.you.must.do.so.exclu
29200 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 sively.on.your.behalf,.under.you
29220 72 20 64 69 72 65 63 74 69 6f 6e 0a 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d r.direction.and.control,.on.term
29240 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 s.that.prohibit.them.from.making
29260 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 0a 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 .any.copies.of.your.copyrighted.
29280 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 material.outside.their.relations
292a0 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 hip.with.you.....Conveying.under
292c0 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d .any.other.circumstances.is.perm
292e0 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e itted.solely.under.the.condition
29300 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 s.stated.below...Sublicensing.is
29320 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 .not.allowed;.section.10.makes.i
29340 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 6e 67 20 t.unnecessary.....3..Protecting.
29360 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 Users'.Legal.Rights.From.Anti-Ci
29380 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 4e 6f 20 63 6f 76 65 72 65 64 20 77 rcumvention.Law.....No.covered.w
293a0 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 ork.shall.be.deemed.part.of.an.e
293c0 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 ffective.technological.measure.u
293e0 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 nder.any.applicable.law.fulfilli
29400 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 ng.obligations.under.article.11.
29420 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 74 20 74 72 65 61 74 79 20 61 64 6f of.the.WIPO.copyright.treaty.ado
29440 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d pted.on.20.December.1996,.or.sim
29460 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 ilar.laws.prohibiting.or.restric
29480 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 ting.circumvention.of.such.measu
294a0 72 65 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 res.....When.you.convey.a.covere
294c0 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 d.work,.you.waive.any.legal.powe
294e0 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 r.to.forbid.circumvention.of.tec
29500 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 78 74 65 6e hnological.measures.to.the.exten
29520 74 20 73 75 63 68 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 0a 69 73 20 65 66 66 65 63 74 65 64 t.such.circumvention.is.effected
29540 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 .by.exercising.rights.under.this
29560 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 0a 74 68 65 20 63 6f 76 .License.with.respect.to.the.cov
29580 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 ered.work,.and.you.disclaim.any.
295a0 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 0a intention.to.limit.operation.or.
295c0 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 modification.of.the.work.as.a.me
295e0 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f ans.of.enforcing,.against.the.wo
29600 72 6b 27 73 0a 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 rk's.users,.your.or.third.partie
29620 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d s'.legal.rights.to.forbid.circum
29640 76 65 6e 74 69 6f 6e 20 6f 66 0a 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 vention.of.technological.measure
29660 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 69 s.....4..Conveying.Verbatim.Copi
29680 65 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 69 6d 20 63 es.....You.may.convey.verbatim.c
296a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 20 73 6f 75 72 63 65 20 63 6f opies.of.the.Program's.source.co
296c0 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 de.as.you.receive.it,.in.any.med
296e0 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 70 69 63 75 6f ium,.provided.that.you.conspicuo
29700 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f usly.and.appropriately.publish.o
29720 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 n.each.copy.an.appropriate.copyr
29740 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 ight.notice;.keep.intact.all.not
29760 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 ices.stating.that.this.License.a
29780 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 nd.any.non-permissive.terms.adde
297a0 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 d.in.accord.with.section.7.apply
297c0 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f .to.the.code;.keep.intact.all.no
297e0 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 tices.of.the.absence.of.any.warr
29800 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 63 69 70 69 65 6e 74 73 20 61 20 anty;.and.give.all.recipients.a.
29820 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 copy.of.this.License.along.with.
29840 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 the.Program.....You.may.charge.a
29860 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 6f ny.price.or.no.price.for.each.co
29880 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 20 79 6f 75 20 6d 61 79 20 py.that.you.convey,.and.you.may.
298a0 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 offer.support.or.warranty.protec
298c0 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 65 79 69 6e 67 20 tion.for.a.fee.....5..Conveying.
298e0 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 59 6f 75 Modified.Source.Versions.....You
29900 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 .may.convey.a.work.based.on.the.
29920 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f Program,.or.the.modifications.to
29940 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e .produce.it.from.the.Program,.in
29960 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 .the.form.of.source.code.under.t
29980 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 he.terms.of.section.4,.provided.
299a0 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 that.you.also.meet.all.of.these.
299c0 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 conditions:......a).The.work.mus
299e0 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e t.carry.prominent.notices.statin
29a00 67 20 74 68 61 74 20 79 6f 75 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 69 74 2c 20 61 6e 64 20 g.that.you.modified.....it,.and.
29a20 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 62 29 20 giving.a.relevant.date.......b).
29a40 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f The.work.must.carry.prominent.no
29a60 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 72 65 6c tices.stating.that.it.is.....rel
29a80 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 eased.under.this.License.and.any
29aa0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 0a .conditions.added.under.section.
29ac0 20 20 20 20 37 2e 20 20 54 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 ....7...This.requirement.modifie
29ae0 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 74 s.the.requirement.in.section.4.t
29b00 6f 0a 20 20 20 20 22 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 22 2e o....."keep.intact.all.notices".
29b20 0a 0a 20 20 20 20 63 29 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e ......c).You.must.license.the.en
29b40 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 74 68 69 tire.work,.as.a.whole,.under.thi
29b60 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 s.....License.to.anyone.who.come
29b80 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
29ba0 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 is.....License.will.therefore.ap
29bc0 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 ply,.along.with.any.applicable.s
29be0 65 63 74 69 6f 6e 20 37 0a 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 ection.7.....additional.terms,.t
29c00 6f 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c o.the.whole.of.the.work,.and.all
29c20 20 69 74 73 20 70 61 72 74 73 2c 0a 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f .its.parts,.....regardless.of.ho
29c40 77 20 74 68 65 79 20 61 72 65 20 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e w.they.are.packaged...This.Licen
29c60 73 65 20 67 69 76 65 73 20 6e 6f 0a 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 se.gives.no.....permission.to.li
29c80 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c cense.the.work.in.any.other.way,
29ca0 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 69 6e 76 61 6c 69 64 61 74 65 20 .but.it.does.not.....invalidate.
29cc0 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 61 such.permission.if.you.have.sepa
29ce0 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a 20 20 20 20 64 29 20 49 66 20 74 rately.received.it.......d).If.t
29d00 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 he.work.has.interactive.user.int
29d20 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 73 70 6c 61 79 0a 20 20 20 20 41 erfaces,.each.must.display.....A
29d40 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 ppropriate.Legal.Notices;.howeve
29d60 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 r,.if.the.Program.has.interactiv
29d80 65 0a 20 20 20 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 e.....interfaces.that.do.not.dis
29da0 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 2c 20 play.Appropriate.Legal.Notices,.
29dc0 79 6f 75 72 0a 20 20 20 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d your.....work.need.not.make.them
29de0 20 64 6f 20 73 6f 2e 0a 0a 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f .do.so.....A.compilation.of.a.co
29e00 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 20 61 vered.work.with.other.separate.a
29e20 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 nd.independent.works,.which.are.
29e40 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f not.by.their.nature.extensions.o
29e60 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 61 6e 64 20 77 68 69 63 68 20 61 72 f.the.covered.work,.and.which.ar
29e80 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 69 74 20 73 75 63 68 20 61 73 20 74 e.not.combined.with.it.such.as.t
29ea0 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f o.form.a.larger.program,.in.or.o
29ec0 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 n.a.volume.of.a.storage.or.distr
29ee0 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 0a 22 61 67 ibution.medium,.is.called.an."ag
29f00 67 72 65 67 61 74 65 22 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 gregate".if.the.compilation.and.
29f20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a its.resulting.copyright.are.not.
29f40 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 used.to.limit.the.access.or.lega
29f60 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 l.rights.of.the.compilation's.us
29f80 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 ers.beyond.what.the.individual.w
29fa0 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 orks.permit...Inclusion.of.a.cov
29fc0 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e ered.work.in.an.aggregate.does.n
29fe0 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 ot.cause.this.License.to.apply.t
2a000 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 o.the.other.parts.of.the.aggrega
2a020 74 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 te.....6..Conveying.Non-Source.F
2a040 6f 72 6d 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 orms.....You.may.convey.a.covere
2a060 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 d.work.in.object.code.form.under
2a080 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 .the.terms.of.sections.4.and.5,.
2a0a0 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 provided.that.you.also.convey.th
2a0c0 65 0a 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 e.machine-readable.Corresponding
2a0e0 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 .Source.under.the.terms.of.this.
2a100 4c 69 63 65 6e 73 65 2c 0a 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a 0a 0a License,.in.one.of.these.ways:..
2a120 20 20 20 20 61 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e ....a).Convey.the.object.code.in
2a140 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f ,.or.embodied.in,.a.physical.pro
2a160 64 75 63 74 0a 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 duct.....(including.a.physical.d
2a180 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 istribution.medium),.accompanied
2a1a0 20 62 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .by.the.....Corresponding.Source
2a1c0 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 .fixed.on.a.durable.physical.med
2a1e0 69 75 6d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 ium.....customarily.used.for.sof
2a200 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 43 6f 6e 76 65 tware.interchange.......b).Conve
2a220 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 y.the.object.code.in,.or.embodie
2a240 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 28 69 6e d.in,.a.physical.product.....(in
2a260 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 cluding.a.physical.distribution.
2a280 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a 20 20 20 20 77 72 medium),.accompanied.by.a.....wr
2a2a0 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 itten.offer,.valid.for.at.least.
2a2c0 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 73 0a 20 20 20 three.years.and.valid.for.as....
2a2e0 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 6f .long.as.you.offer.spare.parts.o
2a300 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f 64 r.customer.support.for.that.prod
2a320 75 63 74 0a 20 20 20 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 uct.....model,.to.give.anyone.wh
2a340 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 o.possesses.the.object.code.eith
2a360 65 72 20 28 31 29 20 61 0a 20 20 20 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 er.(1).a.....copy.of.the.Corresp
2a380 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 onding.Source.for.all.the.softwa
2a3a0 72 65 20 69 6e 20 74 68 65 0a 20 20 20 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f re.in.the.....product.that.is.co
2a3c0 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 vered.by.this.License,.on.a.dura
2a3e0 62 6c 65 20 70 68 79 73 69 63 61 6c 0a 20 20 20 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 ble.physical.....medium.customar
2a400 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
2a420 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 0a 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 e,.for.a.price.no.....more.than.
2a440 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c your.reasonable.cost.of.physical
2a460 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 0a 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 ly.performing.this.....conveying
2a480 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 20 74 6f 20 63 6f 70 .of.source,.or.(2).access.to.cop
2a4a0 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 y.the.....Corresponding.Source.f
2a4c0 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 20 63 68 61 72 67 rom.a.network.server.at.no.charg
2a4e0 65 2e 0a 0a 20 20 20 20 63 29 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 e.......c).Convey.individual.cop
2a500 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 20 63 6f ies.of.the.object.code.with.a.co
2a520 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 py.of.the.....written.offer.to.p
2a540 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e rovide.the.Corresponding.Source.
2a560 20 20 54 68 69 73 0a 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 ..This.....alternative.is.allowe
2a580 64 20 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 d.only.occasionally.and.noncomme
2a5a0 72 63 69 61 6c 6c 79 2c 20 61 6e 64 0a 20 20 20 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 rcially,.and.....only.if.you.rec
2a5c0 65 69 76 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 eived.the.object.code.with.such.
2a5e0 61 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 0a 20 20 20 20 77 69 74 68 20 73 75 62 an.offer,.in.accord.....with.sub
2a600 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 64 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f section.6b.......d).Convey.the.o
2a620 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 bject.code.by.offering.access.fr
2a640 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 70 6c 61 63 65 20 28 67 72 61 74 69 om.a.designated.....place.(grati
2a660 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 s.or.for.a.charge),.and.offer.eq
2a680 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 uivalent.access.to.the.....Corre
2a6a0 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 sponding.Source.in.the.same.way.
2a6c0 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 61 74 20 6e 6f 0a 20 20 20 through.the.same.place.at.no....
2a6e0 20 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 .further.charge...You.need.not.r
2a700 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 equire.recipients.to.copy.the...
2a720 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 ..Corresponding.Source.along.wit
2a740 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 h.the.object.code...If.the.place
2a760 20 74 6f 0a 20 20 20 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 .to.....copy.the.object.code.is.
2a780 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 a.network.server,.the.Correspond
2a7a0 69 6e 67 20 53 6f 75 72 63 65 0a 20 20 20 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 65 ing.Source.....may.be.on.a.diffe
2a7c0 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 rent.server.(operated.by.you.or.
2a7e0 61 20 74 68 69 72 64 20 70 61 72 74 79 29 0a 20 20 20 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 a.third.party).....that.supports
2a800 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 .equivalent.copying.facilities,.
2a820 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 69 6e 74 61 69 6e 0a 20 20 20 20 63 6c 65 61 72 20 provided.you.maintain.....clear.
2a840 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f directions.next.to.the.object.co
2a860 64 65 20 73 61 79 69 6e 67 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 de.saying.where.to.find.the.....
2a880 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 52 65 67 61 72 64 6c 65 73 Corresponding.Source...Regardles
2a8a0 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 0a 20 20 20 20 43 s.of.what.server.hosts.the.....C
2a8c0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 20 72 65 6d 61 69 6e 20 orresponding.Source,.you.remain.
2a8e0 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 0a 20 obligated.to.ensure.that.it.is..
2a900 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 65 65 64 ...available.for.as.long.as.need
2a920 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ed.to.satisfy.these.requirements
2a940 2e 0a 0a 20 20 20 20 65 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 .......e).Convey.the.object.code
2a960 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e .using.peer-to-peer.transmission
2a980 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 ,.provided.....you.inform.other.
2a9a0 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 peers.where.the.object.code.and.
2a9c0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 Corresponding.....Source.of.the.
2a9e0 77 6f 72 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 work.are.being.offered.to.the.ge
2aa00 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 0a 20 20 20 20 63 68 61 72 67 65 20 75 6e neral.public.at.no.....charge.un
2aa20 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 41 20 73 65 70 61 72 61 62 6c der.subsection.6d.....A.separabl
2aa40 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 e.portion.of.the.object.code,.wh
2aa60 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 65 64 0a 66 72 6f 6d ose.source.code.is.excluded.from
2aa80 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 73 20 61 20 53 .the.Corresponding.Source.as.a.S
2aaa0 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 69 6e 63 6c 75 ystem.Library,.need.not.be.inclu
2aac0 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 ded.in.conveying.the.object.code
2aae0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 55 73 65 72 20 50 72 6f 64 75 63 74 22 20 69 73 20 65 69 .work.....A."User.Product".is.ei
2ab00 74 68 65 72 20 28 31 29 20 61 20 22 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 22 2c 20 77 ther.(1).a."consumer.product",.w
2ab20 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c hich.means.any.tangible.personal
2ab40 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 .property.which.is.normally.used
2ab60 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 20 66 61 6d 69 6c 79 2c 0a 6f 72 20 68 6f 75 73 65 68 .for.personal,.family,.or.househ
2ab80 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 old.purposes,.or.(2).anything.de
2aba0 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 20 69 6e 63 6f 72 70 6f 72 61 74 69 6f 6e signed.or.sold.for.incorporation
2abc0 0a 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d 69 6e 69 6e .into.a.dwelling...In.determinin
2abe0 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 6d 65 g.whether.a.product.is.a.consume
2ac00 72 20 70 72 6f 64 75 63 74 2c 0a 64 6f 75 62 74 66 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 r.product,.doubtful.cases.shall.
2ac20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 63 6f 76 65 72 61 67 65 be.resolved.in.favor.of.coverage
2ac40 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 0a 70 72 6f 64 75 63 74 20 72 65 63 65 ...For.a.particular.product.rece
2ac60 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 20 22 6e 6f 72 6d ived.by.a.particular.user,."norm
2ac80 61 6c 6c 79 20 75 73 65 64 22 20 72 65 66 65 72 73 20 74 6f 20 61 0a 74 79 70 69 63 61 6c 20 6f ally.used".refers.to.a.typical.o
2aca0 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 20 70 72 r.common.use.of.that.class.of.pr
2acc0 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 73 0a oduct,.regardless.of.the.status.
2ace0 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 68 65 of.the.particular.user.or.of.the
2ad00 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 .way.in.which.the.particular.use
2ad20 72 0a 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 69 r.actually.uses,.or.expects.or.i
2ad40 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f 64 75 63 74 2e 20 s.expected.to.use,.the.product..
2ad60 20 41 20 70 72 6f 64 75 63 74 0a 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 .A.product.is.a.consumer.product
2ad80 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 64 75 .regardless.of.whether.the.produ
2ada0 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 69 ct.has.substantial.commercial,.i
2adc0 6e 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 ndustrial.or.non-consumer.uses,.
2ade0 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 65 73 65 6e 74 0a 74 68 65 20 6f unless.such.uses.represent.the.o
2ae00 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 nly.significant.mode.of.use.of.t
2ae20 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 20 20 22 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 he.product....."Installation.Inf
2ae40 6f 72 6d 61 74 69 6f 6e 22 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 ormation".for.a.User.Product.mea
2ae60 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 68 ns.any.methods,.procedures,.auth
2ae80 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 orization.keys,.or.other.informa
2aea0 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 61 6e 64 20 65 78 65 tion.required.to.install.and.exe
2aec0 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 63 6f 76 65 cute.modified.versions.of.a.cove
2aee0 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 red.work.in.that.User.Product.fr
2af00 6f 6d 0a 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 20 43 6f 72 om.a.modified.version.of.its.Cor
2af20 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 responding.Source...The.informat
2af40 69 6f 6e 20 6d 75 73 74 0a 73 75 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ion.must.suffice.to.ensure.that.
2af60 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 the.continued.functioning.of.the
2af80 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 0a 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 .modified.object.code.is.in.no.c
2afa0 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 ase.prevented.or.interfered.with
2afc0 20 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 .solely.because.modification.has
2afe0 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 .been.made.....If.you.convey.an.
2b000 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 object.code.work.under.this.sect
2b020 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 ion.in,.or.with,.or.specifically
2b040 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e 64 .for.use.in,.a.User.Product,.and
2b060 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 73 0a 70 61 72 74 20 6f 66 .the.conveying.occurs.as.part.of
2b080 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 72 69 67 68 .a.transaction.in.which.the.righ
2b0a0 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 0a 55 t.of.possession.and.use.of.the.U
2b0c0 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 ser.Product.is.transferred.to.th
2b0e0 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 e.recipient.in.perpetuity.or.for
2b100 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 .a.fixed.term.(regardless.of.how
2b120 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 .the.transaction.is.characterize
2b140 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e d),.the.Corresponding.Source.con
2b160 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 veyed.under.this.section.must.be
2b180 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .accompanied.by.the.Installation
2b1a0 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 20 72 65 71 75 69 72 65 6d .Information...But.this.requirem
2b1c0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e 65 69 74 68 65 72 20 79 6f ent.does.not.apply.if.neither.yo
2b1e0 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 65 74 61 69 6e 73 20 74 68 u.nor.any.third.party.retains.th
2b200 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f 64 69 66 69 65 64 20 6f 62 e.ability.to.install.modified.ob
2b220 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 28 66 ject.code.on.the.User.Product.(f
2b240 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 73 0a 62 65 65 6e 20 69 6e or.example,.the.work.has.been.in
2b260 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 54 68 65 20 72 65 71 75 69 72 65 6d stalled.in.ROM).....The.requirem
2b280 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f ent.to.provide.Installation.Info
2b2a0 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 0a 72 65 71 75 69 rmation.does.not.include.a.requi
2b2c0 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 rement.to.continue.to.provide.su
2b2e0 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 pport.service,.warranty,.or.upda
2b300 74 65 73 0a 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 tes.for.a.work.that.has.been.mod
2b320 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 20 72 65 63 69 70 69 ified.or.installed.by.the.recipi
2b340 65 6e 74 2c 20 6f 72 20 66 6f 72 0a 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 ent,.or.for.the.User.Product.in.
2b360 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e which.it.has.been.modified.or.in
2b380 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 0a 6e 65 74 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
2b3a0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f y.be.denied.when.the.modificatio
2b3c0 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 0a 61 64 76 65 72 73 65 6c n.itself.materially.and.adversel
2b3e0 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e y.affects.the.operation.of.the.n
2b400 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 6c 65 73 20 61 6e 64 etwork.or.violates.the.rules.and
2b420 0a 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 .protocols.for.communication.acr
2b440 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a 0a 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e oss.the.network.....Correspondin
2b460 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 g.Source.conveyed,.and.Installat
2b480 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 6e 20 61 63 63 ion.Information.provided,.in.acc
2b4a0 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e ord.with.this.section.must.be.in
2b4c0 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a 64 6f 63 75 6d .a.format.that.is.publicly.docum
2b4e0 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ented.(and.with.an.implementatio
2b500 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 0a 73 6f 75 n.available.to.the.public.in.sou
2b520 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 65 rce.code.form),.and.must.require
2b540 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 20 66 6f 72 0a .no.special.password.or.key.for.
2b560 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 6e 67 2e 0a 0a unpacking,.reading.or.copying...
2b580 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 22 41 64 64 69 74 ..7..Additional.Terms....."Addit
2b5a0 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 22 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 ional.permissions".are.terms.tha
2b5c0 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c t.supplement.the.terms.of.this.L
2b5e0 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d icense.by.making.exceptions.from
2b600 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a .one.or.more.of.its.conditions..
2b620 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 Additional.permissions.that.are.
2b640 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d applicable.to.the.entire.Program
2b660 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 68 65 79 .shall.be.treated.as.though.they
2b680 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 .were.included.in.this.License,.
2b6a0 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 6c 69 to.the.extent.that.they.are.vali
2b6c0 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 66 20 61 64 64 69 d.under.applicable.law...If.addi
2b6e0 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f tional.permissions.apply.only.to
2b700 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 20 70 61 72 74 20 .part.of.the.Program,.that.part.
2b720 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 65 72 20 74 68 6f may.be.used.separately.under.tho
2b740 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e 74 69 72 65 20 50 se.permissions,.but.the.entire.P
2b760 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 0a 74 68 69 73 20 rogram.remains.governed.by.this.
2b780 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 20 74 68 65 20 61 64 License.without.regard.to.the.ad
2b7a0 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f ditional.permissions.....When.yo
2b7c0 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 u.convey.a.copy.of.a.covered.wor
2b7e0 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 6d 6f 76 65 k,.you.may.at.your.option.remove
2b800 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d .any.additional.permissions.from
2b820 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 20 6f 66 0a .that.copy,.or.from.any.part.of.
2b840 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6d 61 79 it...(Additional.permissions.may
2b860 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 6f 77 6e .be.written.to.require.their.own
2b880 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 .removal.in.certain.cases.when.y
2b8a0 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c ou.modify.the.work.)..You.may.pl
2b8c0 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 ace.additional.permissions.on.ma
2b8e0 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f 76 65 72 65 terial,.added.by.you.to.a.covere
2b900 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 d.work,.for.which.you.have.or.ca
2b920 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 n.give.appropriate.copyright.per
2b940 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 mission.....Notwithstanding.any.
2b960 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c other.provision.of.this.License,
2b980 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 .for.material.you.add.to.a.cover
2b9a0 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 ed.work,.you.may.(if.authorized.
2b9c0 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 20 6f 66 0a 74 68 61 74 by.the.copyright.holders.of.that
2b9e0 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 .material).supplement.the.terms.
2ba00 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 20 20 20 of.this.License.with.terms:.....
2ba20 20 61 29 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 .a).Disclaiming.warranty.or.limi
2ba40 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 ting.liability.differently.from.
2ba60 74 68 65 0a 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 the.....terms.of.sections.15.and
2ba80 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f 72 0a 0a 20 20 20 20 62 29 20 .16.of.this.License;.or......b).
2baa0 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 Requiring.preservation.of.specif
2bac0 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 73 20 6f 72 0a ied.reasonable.legal.notices.or.
2bae0 20 20 20 20 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 ....author.attributions.in.that.
2bb00 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c material.or.in.the.Appropriate.L
2bb20 65 67 61 6c 0a 20 20 20 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f egal.....Notices.displayed.by.wo
2bb40 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 63 29 20 50 72 rks.containing.it;.or......c).Pr
2bb60 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
2bb80 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 20 he.origin.of.that.material,.or..
2bba0 20 20 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 ...requiring.that.modified.versi
2bbc0 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 ons.of.such.material.be.marked.i
2bbe0 6e 0a 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 n.....reasonable.ways.as.differe
2bc00 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 nt.from.the.original.version;.or
2bc20 0a 0a 20 20 20 20 64 29 20 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 ......d).Limiting.the.use.for.pu
2bc40 62 6c 69 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 blicity.purposes.of.names.of.lic
2bc60 65 6e 73 6f 72 73 20 6f 72 0a 20 20 20 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 ensors.or.....authors.of.the.mat
2bc80 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 20 20 20 65 29 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 erial;.or......e).Declining.to.g
2bca0 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 rant.rights.under.trademark.law.
2bcc0 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c for.use.of.some.....trade.names,
2bce0 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f .trademarks,.or.service.marks;.o
2bd00 72 0a 0a 20 20 20 20 66 29 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 r......f).Requiring.indemnificat
2bd20 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 ion.of.licensors.and.authors.of.
2bd40 74 68 61 74 0a 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e 65 20 77 68 6f 20 that.....material.by.anyone.who.
2bd60 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d 6f 64 69 66 69 65 conveys.the.material.(or.modifie
2bd80 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 d.versions.of.....it).with.contr
2bda0 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 actual.assumptions.of.liability.
2bdc0 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 0a 20 20 20 20 61 6e 79 20 6c 69 to.the.recipient,.for.....any.li
2bde0 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 ability.that.these.contractual.a
2be00 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 0a 20 20 ssumptions.directly.impose.on...
2be20 20 20 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a ..those.licensors.and.authors...
2be40 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 74 ..All.other.non-permissive.addit
2be60 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 66 75 72 74 ional.terms.are.considered."furt
2be80 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 22 20 77 69 74 68 69 6e 20 74 68 65 20 6d 65 61 her.restrictions".within.the.mea
2bea0 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 ning.of.section.10...If.the.Prog
2bec0 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 ram.as.you.received.it,.or.any.p
2bee0 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 art.of.it,.contains.a.notice.sta
2bf00 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 ting.that.it.is.governed.by.this
2bf20 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 .License.along.with.a.term.that.
2bf40 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 is.a.further.restriction,.you.ma
2bf60 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 y.remove.that.term...If.a.licens
2bf80 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a 61 20 66 75 72 74 68 65 72 20 72 65 e.document.contains.a.further.re
2bfa0 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e striction.but.permits.relicensin
2bfc0 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 g.or.conveying.under.this.Licens
2bfe0 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b e,.you.may.add.to.a.covered.work
2c000 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 73 0a .material.governed.by.the.terms.
2c020 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 69 64 of.that.license.document,.provid
2c040 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 ed.that.the.further.restriction.
2c060 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c 69 63 65 6e 73 69 6e does.not.survive.such.relicensin
2c080 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 g.or.conveying.....If.you.add.te
2c0a0 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 63 63 6f 72 64 20 rms.to.a.covered.work.in.accord.
2c0c0 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 0a 6d 75 73 74 20 70 6c 61 63 with.this.section,.you.must.plac
2c0e0 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c e,.in.the.relevant.source.files,
2c100 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 74 .a.statement.of.the.additional.t
2c120 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 erms.that.apply.to.those.files,.
2c140 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 77 68 65 72 65 20 74 6f 20 or.a.notice.indicating.where.to.
2c160 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 41 64 find.the.applicable.terms.....Ad
2c180 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 6e 6f ditional.terms,.permissive.or.no
2c1a0 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e 20 74 n-permissive,.may.be.stated.in.t
2c1c0 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e 20 he.form.of.a.separately.written.
2c1e0 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e 73 license,.or.stated.as.exceptions
2c200 3b 0a 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 65 ;.the.above.requirements.apply.e
2c220 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 ither.way.....8..Termination....
2c240 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 .You.may.not.propagate.or.modify
2c260 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 .a.covered.work.except.as.expres
2c280 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e sly.provided.under.this.License.
2c2a0 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 ..Any.attempt.otherwise.to.propa
2c2c0 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 gate.or.modify.it.is.void,.and.w
2c2e0 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 ill.automatically.terminate.your
2c300 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c .rights.under.this.License.(incl
2c320 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 uding.any.patent.licenses.grante
2c340 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 d.under.the.third.paragraph.of.s
2c360 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ection.11).....However,.if.you.c
2c380 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ease.all.violation.of.this.Licen
2c3a0 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 se,.then.your.license.from.a.par
2c3c0 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e ticular.copyright.holder.is.rein
2c3e0 73 74 61 74 65 64 20 28 61 29 0a 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 stated.(a).provisionally,.unless
2c400 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .and.until.the.copyright.holder.
2c420 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 explicitly.and.finally.terminate
2c440 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e s.your.license,.and.(b).permanen
2c460 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 68 6f 6c 64 65 72 20 66 61 69 tly,.if.the.copyright.holder.fai
2c480 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f ls.to.notify.you.of.the.violatio
2c4a0 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 0a 70 72 69 6f 72 n.by.some.reasonable.means.prior
2c4c0 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e .to.60.days.after.the.cessation.
2c4e0 0a 0a 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 ....Moreover,.your.license.from.
2c500 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
2c520 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
2c540 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
2c560 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
2c580 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
2c5a0 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
2c5c0 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f tion.of.this.License.(for.any.wo
2c5e0 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
2c600 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 and.you.cure.the.violation.prior
2c620 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
2c640 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 f.the.notice.....Termination.of.
2c660 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 your.rights.under.this.section.d
2c680 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f oes.not.terminate.the.licenses.o
2c6a0 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 f.parties.who.have.received.copi
2c6c0 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 es.or.rights.from.you.under.this
2c6e0 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 .License...If.your.rights.have.b
2c700 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 een.terminated.and.not.permanent
2c720 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 ly.reinstated,.you.do.not.qualif
2c740 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 68 y.to.receive.new.licenses.for.th
2c760 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 30 e.same.material.under.section.10
2c780 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 64 20 .....9..Acceptance.Not.Required.
2c7a0 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 20 20 59 6f 75 20 61 72 65 20 6e 6f for.Having.Copies.....You.are.no
2c7c0 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 t.required.to.accept.this.Licens
2c7e0 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 72 75 6e 20 61 20 63 e.in.order.to.receive.or.run.a.c
2c800 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 opy.of.the.Program...Ancillary.p
2c820 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 6f 63 63 ropagation.of.a.covered.work.occ
2c840 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
2c860 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f f.using.peer-to-peer.transmissio
2c880 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
2c8a0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
2c8c0 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
2c8e0 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
2c900 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
2c920 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
2c940 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
2c960 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
2c980 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
2c9a0 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
2c9c0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 this.License.to.do.so.....10..Au
2c9e0 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
2ca00 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e Recipients.....Each.time.you.con
2ca20 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e vey.a.covered.work,.the.recipien
2ca40 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e t.automatically.receives.a.licen
2ca60 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 se.from.the.original.licensors,.
2ca80 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 to.run,.modify.and.propagate.tha
2caa0 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e t.work,.subject.to.this.License.
2cac0 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
2cae0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
2cb00 69 65 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 41 6e 20 22 65 6e ies.with.this.License.....An."en
2cb20 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 22 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 tity.transaction".is.a.transacti
2cb40 6f 6e 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 6f 72 on.transferring.control.of.an.or
2cb60 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c ganization,.or.substantially.all
2cb80 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 .assets.of.one,.or.subdividing.a
2cba0 6e 0a 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e n.organization,.or.merging.organ
2cbc0 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 izations...If.propagation.of.a.c
2cbe0 6f 76 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 overed.work.results.from.an.enti
2cc00 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 ty.transaction,.each.party.to.th
2cc20 61 74 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f at.transaction.who.receives.a.co
2cc40 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 py.of.the.work.also.receives.wha
2cc60 74 65 76 65 72 0a 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 tever.licenses.to.the.work.the.p
2cc80 61 72 74 79 27 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 arty's.predecessor.in.interest.h
2cca0 61 64 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 ad.or.could.give.under.the.previ
2ccc0 6f 75 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 ous.paragraph,.plus.a.right.to.p
2cce0 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ossession.of.the.Corresponding.S
2cd00 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 ource.of.the.work.from.the.prede
2cd20 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 cessor.in.interest,.if.the.prede
2cd40 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 cessor.has.it.or.can.get.it.with
2cd60 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 .reasonable.efforts.....You.may.
2cd80 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 not.impose.any.further.restricti
2cda0 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 ons.on.the.exercise.of.the.right
2cdc0 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 s.granted.or.affirmed.under.this
2cde0 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a .License...For.example,.you.may.
2ce00 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 not.impose.a.license.fee,.royalt
2ce20 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 20 y,.or.other.charge.for.exercise.
2ce40 6f 66 0a 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 of.rights.granted.under.this.Lic
2ce60 65 6e 73 65 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c ense,.and.you.may.not.initiate.l
2ce80 69 74 69 67 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 itigation.(including.a.cross-cla
2cea0 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 im.or.counterclaim.in.a.lawsuit)
2cec0 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
2cee0 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 is.infringed.by.making,.using,.s
2cf00 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d elling,.offering.for.sale,.or.im
2cf20 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 porting.the.Program.or.any.porti
2cf40 6f 6e 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 41 20 22 on.of.it.....11..Patents.....A."
2cf60 63 6f 6e 74 72 69 62 75 74 6f 72 22 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 contributor".is.a.copyright.hold
2cf80 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 er.who.authorizes.use.under.this
2cfa0 0a 4c 69 63 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 .License.of.the.Program.or.a.wor
2cfc0 6b 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e k.on.which.the.Program.is.based.
2cfe0 20 20 54 68 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c ..The.work.thus.licensed.is.call
2d000 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 63 6f 6e 74 72 69 62 75 74 6f ed.the.contributor's."contributo
2d020 72 20 76 65 72 73 69 6f 6e 22 2e 0a 0a 20 20 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 r.version".....A.contributor's."
2d040 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 22 20 61 72 65 20 61 6c 6c essential.patent.claims".are.all
2d060 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c .patent.claims.owned.or.controll
2d080 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 ed.by.the.contributor,.whether.a
2d0a0 6c 72 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 lready.acquired.or.hereafter.acq
2d0c0 75 69 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 uired,.that.would.be.infringed.b
2d0e0 79 20 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 y.some.manner,.permitted.by.this
2d100 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 .License,.of.making,.using,.or.s
2d120 65 6c 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a elling.its.contributor.version,.
2d140 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 but.do.not.include.claims.that.w
2d160 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 ould.be.infringed.only.as.a.cons
2d180 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 equence.of.further.modification.
2d1a0 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 of.the.contributor.version...For
2d1c0 0a 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 22 63 .purposes.of.this.definition,."c
2d1e0 6f 6e 74 72 6f 6c 22 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ontrol".includes.the.right.to.gr
2d200 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
2d220 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 er.consistent.with.the.requireme
2d240 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 45 61 63 68 20 63 6f 6e nts.of.this.License.....Each.con
2d260 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 tributor.grants.you.a.non-exclus
2d280 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 ive,.worldwide,.royalty-free.pat
2d2a0 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f ent.license.under.the.contributo
2d2c0 72 27 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a r's.essential.patent.claims,.to.
2d2e0 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c make,.use,.sell,.offer.for.sale,
2d300 20 69 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 .import.and.otherwise.run,.modif
2d320 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 y.and.propagate.the.contents.of.
2d340 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 49 6e 20 74 its.contributor.version.....In.t
2d360 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 he.following.three.paragraphs,.a
2d380 20 22 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 22 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 ."patent.license".is.any.express
2d3a0 0a 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 .agreement.or.commitment,.howeve
2d3c0 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 r.denominated,.not.to.enforce.a.
2d3e0 70 61 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 patent.(such.as.an.express.permi
2d400 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f ssion.to.practice.a.patent.or.co
2d420 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 venant.not.to.sue.for.patent.inf
2d440 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 22 67 72 61 6e 74 22 20 73 75 63 68 20 61 20 70 ringement)...To."grant".such.a.p
2d460 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
2d480 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
2d4a0 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
2d4c0 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 gainst.the.party.....If.you.conv
2d4e0 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c ey.a.covered.work,.knowingly.rel
2d500 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 ying.on.a.patent.license,.and.th
2d520 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f e.Corresponding.Source.of.the.wo
2d540 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 rk.is.not.available.for.anyone.t
2d560 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 o.copy,.free.of.charge.and.under
2d580 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f .the.terms.of.this.License,.thro
2d5a0 75 67 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b ugh.a.publicly.available.network
2d5c0 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 .server.or.other.readily.accessi
2d5e0 62 6c 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 ble.means,.then.you.must.either.
2d600 28 31 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 (1).cause.the.Corresponding.Sour
2d620 63 65 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 ce.to.be.so.available,.or.(2).ar
2d640 72 61 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 range.to.deprive.yourself.of.the
2d660 20 62 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 .benefit.of.the.patent.license.f
2d680 6f 72 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 or.this.particular.work,.or.(3).
2d6a0 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 arrange,.in.a.manner.consistent.
2d6c0 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 with.the.requirements.of.this.Li
2d6e0 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 cense,.to.extend.the.patent.lice
2d700 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 22 nse.to.downstream.recipients..."
2d720 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 22 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 Knowingly.relying".means.you.hav
2d740 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
2d760 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 .the.patent.license,.your.convey
2d780 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
2d7a0 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
2d7c0 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
2d7e0 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
2d800 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
2d820 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
2d840 20 76 61 6c 69 64 2e 0a 0a 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e .valid.....If,.pursuant.to.or.in
2d860 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 .connection.with.a.single.transa
2d880 63 74 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 ction.or.arrangement,.you.convey
2d8a0 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 ,.or.propagate.by.procuring.conv
2d8c0 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 eyance.of,.a.covered.work,.and.g
2d8e0 72 61 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 rant.a.patent.license.to.some.of
2d900 20 74 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 .the.parties.receiving.the.cover
2d920 65 64 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c ed.work.authorizing.them.to.use,
2d940 20 70 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 .propagate,.modify.or.convey.a.s
2d960 70 65 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b pecific.copy.of.the.covered.work
2d980 2c 20 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 ,.then.the.patent.license.you.gr
2d9a0 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f ant.is.automatically.extended.to
2d9c0 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 .all.recipients.of.the.covered.w
2d9e0 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 41 20 ork.and.works.based.on.it.....A.
2da00 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 22 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 patent.license.is."discriminator
2da20 79 22 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e y".if.it.does.not.include.within
2da40 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 .the.scope.of.its.coverage,.proh
2da60 69 62 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 0a 63 6f 6e ibits.the.exercise.of,.or.is.con
2da80 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 ditioned.on.the.non-exercise.of.
2daa0 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 20 61 one.or.more.of.the.rights.that.a
2dac0 72 65 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 re.specifically.granted.under.th
2dae0 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 is.License...You.may.not.convey.
2db00 61 20 63 6f 76 65 72 65 64 0a 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 a.covered.work.if.you.are.a.part
2db20 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 y.to.an.arrangement.with.a.third
2db40 20 70 61 72 74 79 20 74 68 61 74 20 69 73 0a 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 20 6f .party.that.is.in.the.business.o
2db60 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 f.distributing.software,.under.w
2db80 68 69 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 0a 74 6f 20 74 68 65 20 74 68 69 hich.you.make.payment.to.the.thi
2dba0 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 rd.party.based.on.the.extent.of.
2dbc0 79 6f 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 0a 74 68 65 20 77 your.activity.of.conveying.the.w
2dbe0 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 ork,.and.under.which.the.third.p
2dc00 61 72 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 0a 70 61 72 74 69 arty.grants,.to.any.of.the.parti
2dc20 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 es.who.would.receive.the.covered
2dc40 20 77 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 .work.from.you,.a.discriminatory
2dc60 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f .patent.license.(a).in.connectio
2dc80 6e 20 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 n.with.copies.of.the.covered.wor
2dca0 6b 0a 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 k.conveyed.by.you.(or.copies.mad
2dcc0 65 20 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 e.from.those.copies),.or.(b).pri
2dce0 6d 61 72 69 6c 79 0a 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 marily.for.and.in.connection.wit
2dd00 68 20 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 h.specific.products.or.compilati
2dd20 6f 6e 73 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 ons.that.contain.the.covered.wor
2dd40 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 k,.unless.you.entered.into.that.
2dd60 61 72 72 61 6e 67 65 6d 65 6e 74 2c 0a 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 arrangement,.or.that.patent.lice
2dd80 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 nse.was.granted,.prior.to.28.Mar
2dda0 63 68 20 32 30 30 37 2e 0a 0a 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 ch.2007.....Nothing.in.this.Lice
2ddc0 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 nse.shall.be.construed.as.exclud
2dde0 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 ing.or.limiting.any.implied.lice
2de00 6e 73 65 20 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 nse.or.other.defenses.to.infring
2de20 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 ement.that.may.otherwise.be.avai
2de40 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 lable.to.you.under.applicable.pa
2de60 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 tent.law.....12..No.Surrender.of
2de80 20 4f 74 68 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 49 66 20 63 6f 6e 64 69 74 69 6f .Others'.Freedom.....If.conditio
2dea0 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 ns.are.imposed.on.you.(whether.b
2dec0 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 y.court.order,.agreement.or.othe
2dee0 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 rwise).that.contradict.the.condi
2df00 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e tions.of.this.License,.they.do.n
2df20 6f 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e ot.excuse.you.from.the.condition
2df40 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f s.of.this.License...If.you.canno
2df60 74 20 63 6f 6e 76 65 79 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f t.convey.a.covered.work.so.as.to
2df80 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c .satisfy.simultaneously.your.obl
2dfa0 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 igations.under.this.License.and.
2dfc0 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c any.other.pertinent.obligations,
2dfe0 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 0a 6e .then.as.a.consequence.you.may.n
2e000 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c ot.convey.it.at.all...For.exampl
2e020 65 2c 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 e,.if.you.agree.to.terms.that.ob
2e040 6c 69 67 61 74 65 20 79 6f 75 0a 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 ligate.you.to.collect.a.royalty.
2e060 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 68 6f 73 65 for.further.conveying.from.those
2e080 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 0a 74 68 65 20 50 72 6f 67 72 61 6d 2c .to.whom.you.convey.the.Program,
2e0a0 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 .the.only.way.you.could.satisfy.
2e0c0 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 0a 4c 69 63 65 6e 73 both.those.terms.and.this.Licens
2e0e0 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 e.would.be.to.refrain.entirely.f
2e100 72 6f 6d 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 rom.conveying.the.Program.....13
2e120 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 ..Use.with.the.GNU.Affero.Genera
2e140 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e l.Public.License.....Notwithstan
2e160 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 ding.any.other.provision.of.this
2e180 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f .License,.you.have.permission.to
2e1a0 20 6c 69 6e 6b 20 6f 72 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 .link.or.combine.any.covered.wor
2e1c0 6b 20 77 69 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 k.with.a.work.licensed.under.ver
2e1e0 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c sion.3.of.the.GNU.Affero.General
2e200 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f .Public.License.into.a.single.co
2e220 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 mbined.work,.and.to.convey.the.r
2e240 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 esulting.work...The.terms.of.thi
2e260 73 0a 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 s.License.will.continue.to.apply
2e280 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 .to.the.part.which.is.the.covere
2e2a0 64 20 77 6f 72 6b 2c 0a 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d d.work,.but.the.special.requirem
2e2c0 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 ents.of.the.GNU.Affero.General.P
2e2e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 ublic.License,.section.13,.conce
2e300 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 rning.interaction.through.a.netw
2e320 6f 72 6b 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f ork.will.apply.to.the.combinatio
2e340 6e 20 61 73 20 73 75 63 68 2e 0a 0a 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f n.as.such.....14..Revised.Versio
2e360 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 54 68 65 20 46 72 65 65 20 ns.of.this.License.....The.Free.
2e380 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 Software.Foundation.may.publish.
2e3a0 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 74 revised.and/or.new.versions.of.t
2e3c0 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 he.GNU.General.Public.License.fr
2e3e0 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 om.time.to.time...Such.new.versi
2e400 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f ons.will.be.similar.in.spirit.to
2e420 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 .the.present.version,.but.may.di
2e440 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
2e460 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 45 61 63 68 20 76 65 72 73 oblems.or.concerns.....Each.vers
2e480 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 ion.is.given.a.distinguishing.ve
2e4a0 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 73 70 rsion.number...If.the.Program.sp
2e4c0 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 ecifies.that.a.certain.numbered.
2e4e0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 version.of.the.GNU.General.Publi
2e500 63 20 4c 69 63 65 6e 73 65 20 22 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 c.License."or.any.later.version"
2e520 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 0a 6f 70 74 .applies.to.it,.you.have.the.opt
2e540 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 ion.of.following.the.terms.and.c
2e560 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 onditions.either.of.that.numbere
2e580 64 0a 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f d.version.or.of.any.later.versio
2e5a0 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 n.published.by.the.Free.Software
2e5c0 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 .Foundation...If.the.Program.doe
2e5e0 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f s.not.specify.a.version.number.o
2e600 66 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
2e620 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 ,.you.may.choose.any.version.eve
2e640 72 20 70 75 62 6c 69 73 68 65 64 0a 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 r.published.by.the.Free.Software
2e660 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 .Foundation.....If.the.Program.s
2e680 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 pecifies.that.a.proxy.can.decide
2e6a0 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e .which.future.versions.of.the.GN
2e6c0 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 U.General.Public.License.can.be.
2e6e0 75 73 65 64 2c 20 74 68 61 74 20 70 72 6f 78 79 27 73 0a 70 75 62 6c 69 63 20 73 74 61 74 65 6d used,.that.proxy's.public.statem
2e700 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 ent.of.acceptance.of.a.version.p
2e720 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 0a 74 6f 20 63 68 6f ermanently.authorizes.you.to.cho
2e740 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d ose.that.version.for.the.Program
2e760 2e 0a 0a 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 .....Later.license.versions.may.
2e780 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 give.you.additional.or.different
2e7a0 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 .permissions...However,.no.addit
2e7c0 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e ional.obligations.are.imposed.on
2e7e0 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .any.author.or.copyright.holder.
2e800 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 as.a.result.of.your.choosing.to.
2e820 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 follow.a.later.version.....15..D
2e840 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 54 48 45 52 45 20 isclaimer.of.Warranty.....THERE.
2e860 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 IS.NO.WARRANTY.FOR.THE.PROGRAM,.
2e880 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 TO.THE.EXTENT.PERMITTED.BY.APPLI
2e8a0 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 CABLE.LAW...EXCEPT.WHEN.OTHERWIS
2e8c0 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 E.STATED.IN.WRITING.THE.COPYRIGH
2e8e0 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 T.HOLDERS.AND/OR.OTHER.PARTIES.P
2e900 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f ROVIDE.THE.PROGRAM."AS.IS".WITHO
2e920 55 54 20 57 41 52 52 41 4e 54 59 0a 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 UT.WARRANTY.OF.ANY.KIND,.EITHER.
2e940 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c EXPRESSED.OR.IMPLIED,.INCLUDING,
2e960 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 0a 54 48 45 20 49 4d 50 4c 49 45 44 .BUT.NOT.LIMITED.TO,.THE.IMPLIED
2e980 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 .WARRANTIES.OF.MERCHANTABILITY.A
2e9a0 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 0a 50 55 52 50 ND.FITNESS.FOR.A.PARTICULAR.PURP
2e9c0 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 OSE...THE.ENTIRE.RISK.AS.TO.THE.
2e9e0 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 QUALITY.AND.PERFORMANCE.OF.THE.P
2ea00 52 4f 47 52 41 4d 0a 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 ROGRAM.IS.WITH.YOU...SHOULD.THE.
2ea20 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 PROGRAM.PROVE.DEFECTIVE,.YOU.ASS
2ea40 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 0a 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 UME.THE.COST.OF.ALL.NECESSARY.SE
2ea60 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a RVICING,.REPAIR.OR.CORRECTION...
2ea80 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a ..16..Limitation.of.Liability...
2eaa0 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 ..IN.NO.EVENT.UNLESS.REQUIRED.BY
2eac0 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 .APPLICABLE.LAW.OR.AGREED.TO.IN.
2eae0 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 WRITING.WILL.ANY.COPYRIGHT.HOLDE
2eb00 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 R,.OR.ANY.OTHER.PARTY.WHO.MODIFI
2eb20 45 53 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 59 53 0a 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 ES.AND/OR.CONVEYS.THE.PROGRAM.AS
2eb40 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 .PERMITTED.ABOVE,.BE.LIABLE.TO.Y
2eb60 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 0a 47 45 OU.FOR.DAMAGES,.INCLUDING.ANY.GE
2eb80 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f NERAL,.SPECIAL,.INCIDENTAL.OR.CO
2eba0 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 20 NSEQUENTIAL.DAMAGES.ARISING.OUT.
2ebc0 4f 46 20 54 48 45 0a 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 OF.THE.USE.OR.INABILITY.TO.USE.T
2ebe0 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 HE.PROGRAM.(INCLUDING.BUT.NOT.LI
2ec00 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 0a 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 MITED.TO.LOSS.OF.DATA.OR.DATA.BE
2ec20 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
2ec40 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 0a 50 41 52 54 S.SUSTAINED.BY.YOU.OR.THIRD.PART
2ec60 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 IES.OR.A.FAILURE.OF.THE.PROGRAM.
2ec80 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 TO.OPERATE.WITH.ANY.OTHER.PROGRA
2eca0 4d 53 29 2c 0a 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 MS),.EVEN.IF.SUCH.HOLDER.OR.OTHE
2ecc0 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 R.PARTY.HAS.BEEN.ADVISED.OF.THE.
2ece0 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 0a 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 POSSIBILITY.OF.SUCH.DAMAGES.....
2ed00 31 37 2e 20 49 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 17..Interpretation.of.Sections.1
2ed20 35 20 61 6e 64 20 31 36 2e 0a 0a 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 5.and.16.....If.the.disclaimer.o
2ed40 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 f.warranty.and.limitation.of.lia
2ed60 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 bility.provided.above.cannot.be.
2ed80 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 given.local.legal.effect.accordi
2eda0 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 ng.to.their.terms,.reviewing.cou
2edc0 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d rts.shall.apply.local.law.that.m
2ede0 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f ost.closely.approximates.an.abso
2ee00 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 lute.waiver.of.all.civil.liabili
2ee20 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 ty.in.connection.with.the.Progra
2ee40 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 m,.unless.a.warranty.or.assumpti
2ee60 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f on.of.liability.accompanies.a.co
2ee80 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 py.of.the.Program.in.return.for.
2eea0 61 20 66 65 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 a.fee........................END
2eec0 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 .OF.TERMS.AND.CONDITIONS........
2eee0 20 20 20 20 20 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 ......How.to.Apply.These.Terms.t
2ef00 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 o.Your.New.Programs....If.you.de
2ef20 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e velop.a.new.program,.and.you.wan
2ef40 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 t.it.to.be.of.the.greatest.possi
2ef60 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
2ef80 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
2efa0 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 t.free.software.which.everyone.c
2efc0 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 an.redistribute.and.change.under
2efe0 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 .these.terms.....To.do.so,.attac
2f000 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 h.the.following.notices.to.the.p
2f020 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 rogram...It.is.safest.to.attach.
2f040 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 them.to.the.start.of.each.source
2f060 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 .file.to.most.effectively.state.
2f080 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 the.exclusion.of.warranty;.and.e
2f0a0 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 ach.file.should.have.at.least.th
2f0c0 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 e."copyright".line.and.a.pointer
2f0e0 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 .to.where.the.full.notice.is.fou
2f100 6e 64 2e 0a 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 nd.......<one.line.to.give.the.p
2f120 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f rogram's.name.and.a.brief.idea.o
2f140 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 f.what.it.does.>.....Copyright.(
2f160 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 C).<year>..<name.of.author>.....
2f180 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 .This.program.is.free.software:.
2f1a0 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
2f1c0 6f 64 69 66 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 odify.....it.under.the.terms.of.
2f1e0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 the.GNU.General.Public.License.a
2f200 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 s.published.by.....the.Free.Soft
2f220 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
2f240 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 3.of.the.License,.or.....(at.you
2f260 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 r.option).any.later.version.....
2f280 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
2f2a0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
2f2c0 2c 0a 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 ,.....but.WITHOUT.ANY.WARRANTY;.
2f2e0 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 without.even.the.implied.warrant
2f300 79 20 6f 66 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e y.of.....MERCHANTABILITY.or.FITN
2f320 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
2f340 65 65 20 74 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ee.the.....GNU.General.Public.Li
2f360 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 cense.for.more.details.......You
2f380 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
2f3a0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 the.GNU.General.Public.License..
2f3c0 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ...along.with.this.program...If.
2f3e0 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
2f400 63 65 6e 73 65 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 censes/>...Also.add.information.
2f420 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f on.how.to.contact.you.by.electro
2f440 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 20 20 49 66 20 74 68 65 20 70 72 nic.and.paper.mail.....If.the.pr
2f460 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c ogram.does.terminal.interaction,
2f480 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c .make.it.output.a.short.notice.l
2f4a0 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e ike.this.when.it.starts.in.an.in
2f4c0 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 3c 70 72 6f 67 72 61 6d 3e 20 20 teractive.mode:......<program>..
2f4e0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 Copyright.(C).<year>..<name.of.a
2f500 75 74 68 6f 72 3e 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 uthor>.....This.program.comes.wi
2f520 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 th.ABSOLUTELY.NO.WARRANTY;.for.d
2f540 65 74 61 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 etails.type.`show.w'......This.i
2f560 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c s.free.software,.and.you.are.wel
2f580 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 come.to.redistribute.it.....unde
2f5a0 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 r.certain.conditions;.type.`show
2f5c0 20 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 .c'.for.details...The.hypothetic
2f5e0 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 al.commands.`show.w'.and.`show.c
2f600 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 '.should.show.the.appropriate.pa
2f620 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 rts.of.the.General.Public.Licens
2f640 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 27 73 20 63 6f e...Of.course,.your.program's.co
2f660 6d 6d 61 6e 64 73 0a 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 mmands.might.be.different;.for.a
2f680 20 47 55 49 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 20 75 73 65 20 61 6e .GUI.interface,.you.would.use.an
2f6a0 20 22 61 62 6f 75 74 20 62 6f 78 22 2e 0a 0a 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f ."about.box".....You.should.also
2f6c0 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
2f6e0 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 as.a.programmer).or.school,.if.a
2f700 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 ny,.to.sign.a."copyright.disclai
2f720 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 mer".for.the.program,.if.necessa
2f740 72 79 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 ry..For.more.information.on.this
2f760 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 ,.and.how.to.apply.and.follow.th
2f780 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
2f7a0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 org/licenses/>.....The.GNU.Gener
2f7c0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
2f7e0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 0a 69 6e 74 t.incorporating.your.program.int
2f800 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
2f820 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
2f840 2c 20 79 6f 75 0a 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
2f860 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 l.to.permit.linking.proprietary.
2f880 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 0a 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
2f8a0 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
2f8c0 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
2f8e0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
2f900 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 0a 3c 68 74 74 70 e...But.first,.please.read.<http
2f920 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 77 68 79 2d 6e 6f 74 s://www.gnu.org/licenses/why-not
2f940 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -lgpl.html>.....................
2f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/dir.................
2fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2fa80 30 30 30 31 31 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 36 35 30 00 20 30 00 00 00 0001151.00000000000.011650..0...
2faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2fb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc00 54 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 2e 2e 2e 2f 69 6e 66 6f 2f 64 69 72 2c 20 77 This.is.the.file..../info/dir,.w
2fc20 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 74 6f 70 6d 6f 73 74 20 6e 6f 64 65 20 6f hich.contains.the.topmost.node.o
2fc40 66 20 74 68 65 20 49 6e 66 6f 20 68 69 65 72 61 72 63 68 79 2c 20 63 61 6c 6c 65 64 20 28 64 69 f.the.Info.hierarchy,.called.(di
2fc60 72 29 54 6f 70 2e 0a 54 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 r)Top..The.first.time.you.invoke
2fc80 20 49 6e 66 6f 20 79 6f 75 20 73 74 61 72 74 20 6f 66 66 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 .Info.you.start.off.looking.at.t
2fca0 68 69 73 20 6e 6f 64 65 2e 0a 1f 0a 46 69 6c 65 3a 20 64 69 72 2c 09 4e 6f 64 65 3a 20 54 6f 70 his.node....File:.dir,.Node:.Top
2fcc0 09 54 68 69 73 20 69 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 49 4e 46 4f 20 74 72 65 .This.is.the.top.of.the.INFO.tre
2fce0 65 0a 0a 20 20 54 68 69 73 20 28 74 68 65 20 44 69 72 65 63 74 6f 72 79 20 6e 6f 64 65 29 20 67 e....This.(the.Directory.node).g
2fd00 69 76 65 73 20 61 20 6d 65 6e 75 20 6f 66 20 6d 61 6a 6f 72 20 74 6f 70 69 63 73 2e 0a 20 20 54 ives.a.menu.of.major.topics....T
2fd20 79 70 69 6e 67 20 22 71 22 20 65 78 69 74 73 2c 20 22 48 22 20 6c 69 73 74 73 20 61 6c 6c 20 49 yping."q".exits,."H".lists.all.I
2fd40 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 22 64 22 20 72 65 74 75 72 6e 73 20 68 65 72 65 2c 0a nfo.commands,."d".returns.here,.
2fd60 20 20 22 68 22 20 67 69 76 65 73 20 61 20 70 72 69 6d 65 72 20 66 6f 72 20 66 69 72 73 74 2d 74 .."h".gives.a.primer.for.first-t
2fd80 69 6d 65 72 73 2c 0a 20 20 22 6d 45 6d 61 63 73 3c 52 65 74 75 72 6e 3e 22 20 76 69 73 69 74 73 imers,..."mEmacs<Return>".visits
2fda0 20 74 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2c 20 65 74 63 2e 0a 0a 20 20 49 6e 20 45 6d .the.Emacs.manual,.etc.....In.Em
2fdc0 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 acs,.you.can.click.mouse.button.
2fde0 32 20 6f 6e 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 6f 72 20 63 72 6f 73 73 20 72 65 66 65 72 65 2.on.a.menu.item.or.cross.refere
2fe00 6e 63 65 0a 20 20 74 6f 20 73 65 6c 65 63 74 20 69 74 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 45 6d nce...to.select.it...*.Menu:..Em
2fe20 61 63 73 0a 2a 20 44 61 73 68 3a 20 28 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 20 20 20 20 acs.*.Dash:.(dash.info).........
2fe40 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e ....A.modern.list.library.for.GN
2fe60 55 20 45 6d 61 63 73 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 U.Emacs.........................
2fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30000 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 61 73 68 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/dash.info...........
30020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
30080 30 36 31 34 36 34 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 36 30 00 20 30 00 00 00 0614640.00000000000.012760..0...
300a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
300e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
30120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
30140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30200 54 68 69 73 20 69 73 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.docpgQ07Y.info,.produced
30220 20 62 79 20 6d 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 38 20 66 72 6f 6d 20 64 61 .by.makeinfo.version.6.8.from.da
30240 73 68 2e 74 65 78 69 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 sh.texi...This.manual.is.for.Das
30260 68 20 76 65 72 73 69 6f 6e 20 32 2e 32 30 2e 30 2e 0a 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 h.version.2.20.0......Copyright.
30280 c2 a9 20 32 30 31 32 e2 80 93 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 ...2012...2025.Free.Software.Fou
302a0 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 ndation,.Inc........Permission.i
302c0 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e s.granted.to.copy,.distribute.an
302e0 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 d/or.modify.this......document.u
30300 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 nder.the.terms.of.the.GNU.Free.D
30320 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 ocumentation.License,......Versi
30340 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c on.1.3.or.any.later.version.publ
30360 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 ished.by.the.Free.Software......
30380 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 Foundation;.with.the.Invariant.S
303a0 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ections.being....GNU.General.Pub
303c0 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 6e 6f 20 46 72 6f 6e lic......License,....and.no.Fron
303e0 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 t-Cover.Texts.or.Back-Cover.Text
30400 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 s...A.copy.of......the.license.i
30420 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c s.included.in.the.section.entitl
30440 65 64 20 e2 80 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f ed....GNU.Free......Documentatio
30460 6e 20 4c 69 63 65 6e 73 65 e2 80 9d 2e 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 n.License.....INFO-DIR-SECTION.E
30480 6d 61 63 73 0a 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 44 61 73 68 macs.START-INFO-DIR-ENTRY.*.Dash
304a0 3a 20 28 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 :.(dash.info).....A.modern.list.
304c0 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 45 4e 44 2d 49 4e 46 4f 2d library.for.GNU.Emacs..END-INFO-
304e0 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 DIR-ENTRY....File:.docpgQ07Y.inf
30500 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 61 74 69 o,..Node:.Top,..Next:.Installati
30520 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a 44 61 73 68 0a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 on,..Up:.(dir)..Dash.****..This.
30540 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 32 2e 32 30 2e manual.is.for.Dash.version.2.20.
30560 30 2e 0a 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 31 32 e2 80 93 32 30 32 35 20 0......Copyright....2012...2025.
30580 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a Free.Software.Foundation,.Inc...
305a0 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f .....Permission.is.granted.to.co
305c0 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 py,.distribute.and/or.modify.thi
305e0 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 s......document.under.the.terms.
30600 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 of.the.GNU.Free.Documentation.Li
30620 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c cense,......Version.1.3.or.any.l
30640 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 ater.version.published.by.the.Fr
30660 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 ee.Software......Foundation;.wit
30680 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 e2 h.the.Invariant.Sections.being..
306a0 80 9c 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 ..GNU.General.Public......Licens
306c0 65 2c e2 80 9d 20 61 6e 64 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f e,....and.no.Front-Cover.Texts.o
306e0 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 0a 20 r.Back-Cover.Texts...A.copy.of..
30700 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 ....the.license.is.included.in.t
30720 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 e2 80 9c 47 4e 55 20 46 72 65 65 0a he.section.entitled....GNU.Free.
30740 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e2 80 9d 2e 0a 0a .....Documentation.License......
30760 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 *.Menu:..*.Installation::.......
30780 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 .Installing.and.configuring.Dash
307a0 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 ..*.Functions::...........Dash.A
307c0 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 PI.reference..*.Development::...
307e0 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c ......Contributing.to.Dash.devel
30800 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 opment...Appendices..*.FDL::....
30820 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 .............The.license.for.thi
30840 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 s.documentation..*.GPL::........
30860 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 .........Conditions.for.copying.
30880 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 and.changing.Dash..*.Index::....
308a0 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 ...........Index.including.funct
308c0 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 2e 0a 0a 20 e2 80 94 20 54 68 65 20 44 65 74 61 69 ions.and.macros........The.Detai
308e0 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 led.Node.Listing......Installati
30900 6f 6e 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 on..*.Using.in.a.package::..List
30920 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 ing.Dash.as.a.package.dependency
30940 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 ..*.Fontification.of.special.var
30960 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 iables::..Font.Lock.of.anaphoric
30980 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 .macro.variables..*.Info.symbol.
309a0 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c lookup::..Looking.up.Dash.symbol
309c0 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 s.in.this.manual...Functions..*.
309e0 4d 61 70 73 3a 3a 0a 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c Maps::.*.Sublist.selection::.*.L
30a00 69 73 74 20 74 6f 20 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 ist.to.list::.*.Reductions::.*.U
30a20 6e 66 6f 6c 64 69 6e 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 nfolding::.*.Predicates::.*.Part
30a40 69 74 69 6f 6e 69 6e 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 itioning::.*.Indexing::.*.Set.op
30a60 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f erations::.*.Other.list.operatio
30a80 6e 73 3a 3a 0a 2a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 ns::.*.Tree.operations::.*.Threa
30aa0 64 69 6e 67 20 6d 61 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 ding.macros::.*.Binding::.*.Side
30ac0 20 65 66 66 65 63 74 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 .effects::.*.Destructive.operati
30ae0 6f 6e 73 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a ons::.*.Function.combinators::..
30b00 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 Development..*.Contribute::.....
30b20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 .....How.to.contribute..*.Contri
30b40 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 butors::........List.of.contribu
30b60 74 6f 72 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 tors.....File:.docpgQ07Y.info,..
30b80 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 Node:.Installation,..Next:.Funct
30ba0 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 49 6e ions,..Prev:.Top,..Up:.Top..1.In
30bc0 73 74 61 6c 6c 61 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 44 61 73 68 20 stallation.**************..Dash.
30be0 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 47 4e 55 20 45 4c 50 41 20 28 68 74 74 70 73 3a is.available.on.GNU.ELPA.(https:
30c00 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 29 2c 20 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 //elpa.gnu.org/),.GNU-devel.ELPA
30c20 0a 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 .(https://elpa.gnu.org/devel/),.
30c40 61 6e 64 20 4d 45 4c 50 41 20 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 20 and.MELPA.(https://melpa.org/),.
30c60 61 6e 64 20 63 61 6e 0a 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 and.can.be.installed.with.the.st
30c80 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 e2 80 98 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c andard.command....package-instal
30ca0 6c e2 80 99 20 28 2a 6e 6f 74 65 0a 28 65 6d 61 63 73 29 50 61 63 6b 61 67 65 20 49 6e 73 74 61 l....(*note.(emacs)Package.Insta
30cc0 6c 6c 61 74 69 6f 6e 3a 3a 29 2e 0a 0a e2 80 98 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 llation::)......M-x.package-inst
30ce0 61 6c 6c 20 3c 52 45 54 3e 20 64 61 73 68 20 3c 52 45 54 3e e2 80 99 0a 20 20 20 20 20 49 6e 73 all.<RET>.dash.<RET>.........Ins
30d00 74 61 6c 6c 20 74 68 65 20 44 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 0a 20 20 20 41 6c 74 65 72 tall.the.Dash.library......Alter
30d20 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 e2 80 98 64 natively,.you.can.just.dump....d
30d40 61 73 68 2e 65 6c e2 80 99 20 69 6e 20 79 6f 75 72 20 e2 80 98 6c 6f 61 64 2d 70 61 74 68 e2 80 ash.el....in.your....load-path..
30d60 99 0a 73 6f 6d 65 77 68 65 72 65 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 4c 69 73 70 20 4c ..somewhere.(*note.(emacs)Lisp.L
30d80 69 62 72 61 72 69 65 73 3a 3a 29 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 69 6e 67 20 69 ibraries::)...*.Menu:..*.Using.i
30da0 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 n.a.package::..Listing.Dash.as.a
30dc0 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 .package.dependency..*.Fontifica
30de0 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e tion.of.special.variables::..Fon
30e00 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 t.Lock.of.anaphoric.macro.variab
30e20 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f les..*.Info.symbol.lookup::..Loo
30e40 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e king.up.Dash.symbols.in.this.man
30e60 75 61 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e ual.....File:.docpgQ07Y.info,..N
30e80 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 2c 20 20 4e 65 78 74 3a 20 ode:.Using.in.a.package,..Next:.
30ea0 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c Fontification.of.special.variabl
30ec0 65 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 31 20 55 73 69 6e 67 es,..Up:.Installation..1.1.Using
30ee0 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .in.a.package.==================
30f00 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 ====..If.you.use.Dash.in.your.ow
30f20 6e 20 70 61 63 6b 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 n.package,.be.sure.to.list.it.as
30f40 20 61 20 64 65 70 65 6e 64 65 6e 63 79 0a 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 e2 80 99 73 .a.dependency.in.the.library...s
30f60 20 68 65 61 64 65 72 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 .headers.as.follows.(*note.(elis
30f80 70 29 4c 69 62 72 61 72 79 20 48 65 61 64 65 72 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 p)Library.Headers::)........;;.P
30fa0 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 32 30 2e 30 22 ackage-Requires:.((dash."2.20.0"
30fc0 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 ))....File:.docpgQ07Y.info,..Nod
30fe0 65 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 e:.Fontification.of.special.vari
31000 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 ables,..Next:.Info.symbol.lookup
31020 2c 20 20 50 72 65 76 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 2c 20 20 55 70 ,..Prev:.Using.in.a.package,..Up
31040 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 32 20 46 6f 6e 74 69 66 69 63 61 74 69 6f :.Installation..1.2.Fontificatio
31060 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d n.of.special.variables.=========
31080 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 =============================..T
310a0 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 e2 80 98 64 61 73 68 he.autoloaded.minor.mode....dash
310c0 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 e2 80 99 20 69 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 -fontify-mode....is.provided.for
310e0 20 6f 70 74 69 6f 6e 61 6c 0a 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 61 6e 61 70 68 .optional.fontification.of.anaph
31100 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 e2 80 98 69 74 e2 80 99 2c 20 e2 oric.Dash.variables.(...it...,..
31120 80 98 61 63 63 e2 80 99 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 0a 4c 69 73 70 20 62 75 ..acc...,.etc.).in.Emacs.Lisp.bu
31140 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 46 6f 6e 74 20 4c 6f ffers.using.search-based.Font.Lo
31160 63 6b 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 46 6f 6e 74 20 4c 6f 63 6b 3a 3a 29 2e 0a 49 ck.(*note.(emacs)Font.Lock::)..I
31180 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 n.older.Emacs.versions.which.do.
311a0 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 not.dynamically.detect.macros,.t
311c0 68 65 0a 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 63 61 6c he.minor.mode.also.fontifies.cal
311e0 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 20 20 20 54 6f 20 61 75 74 6f 6d 61 ls.to.Dash.macros......To.automa
31200 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e tically.enable.the.minor.mode.in
31220 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 0a 6a 75 73 74 20 63 61 .all.Emacs.Lisp.buffers,.just.ca
31240 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 ll.its.autoloaded.global.counter
31260 70 61 72 74 20 e2 80 98 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 part....global-dash-fontify-mode
31280 e2 80 99 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f ...,.either.interactively.or.fro
312a0 6d 20 79 6f 75 72 20 e2 80 98 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 80 99 3a 0a 0a 20 20 m.your....user-init-file...:....
312c0 20 20 20 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 0a 1f ...(global-dash-fontify-mode)...
312e0 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e .File:.docpgQ07Y.info,..Node:.In
31300 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 46 6f 6e 74 69 66 69 fo.symbol.lookup,..Prev:.Fontifi
31320 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 cation.of.special.variables,..Up
31340 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 33 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 :.Installation..1.3.Info.symbol.
31360 6c 6f 6f 6b 75 70 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 57 lookup.======================..W
31380 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 63 61 hile.editing.Elisp.files,.you.ca
313a0 6e 20 75 73 65 20 e2 80 98 43 2d 68 20 53 e2 80 99 20 28 e2 80 98 69 6e 66 6f 2d 6c 6f 6f 6b 75 n.use....C-h.S....(...info-looku
313c0 70 2d 73 79 6d 62 6f 6c e2 80 99 29 20 74 6f 0a 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 79 p-symbol...).to.look.up.Elisp.sy
313e0 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f 20 6d 61 6e 75 61 mbols.in.the.relevant.Info.manua
31400 6c 73 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 3a 3a 29 2e ls.(*note.(emacs)Info.Lookup::).
31420 20 20 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 ..To.enable.the.same.for.Dash.sy
31440 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a e2 80 98 64 61 73 68 2d 72 mbols,.use.the.command....dash-r
31460 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 e2 80 99 2e 20 20 49 74 20 63 61 6e 20 egister-info-lookup......It.can.
31480 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2c 20 be.called.directly.when.needed,.
314a0 6f 72 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 75 73 or.automatically.from.your....us
314c0 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 80 99 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a er-init-file......For.example:..
314e0 20 20 20 20 20 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f .....(with-eval-after-load.'info
31500 2d 6c 6f 6f 6b 0a 20 20 20 20 20 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f -look........(dash-register-info
31520 2d 6c 6f 6f 6b 75 70 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 -lookup))....File:.docpgQ07Y.inf
31540 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 44 65 76 65 o,..Node:.Functions,..Next:.Deve
31560 6c 6f 70 6d 65 6e 74 2c 20 20 50 72 65 76 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 lopment,..Prev:.Installation,..U
31580 70 3a 20 54 6f 70 0a 0a 32 20 46 75 6e 63 74 69 6f 6e 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a p:.Top..2.Functions.***********.
315a0 0a 54 68 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 .This.chapter.contains.reference
315c0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 20 41 50 49 0a .documentation.for.the.Dash.API.
315e0 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 (Application.Programming.Interfa
31600 63 65 29 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 70 75 62 6c 69 63 20 66 75 ce)...The.names.of.all.public.fu
31620 6e 63 74 69 6f 6e 73 0a 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 nctions.defined.in.the.library.a
31640 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 20 63 68 61 72 61 63 74 65 re.prefixed.with.a.dash.characte
31660 72 20 28 e2 80 98 2d e2 80 99 29 2e 0a 0a 20 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 r.(...-...)......The.library.als
31680 6f 20 70 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 o.provides.anaphoric.macro.versi
316a0 6f 6e 73 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 ons.of.functions.where.that.make
316c0 73 20 73 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 s.sense...The.names.of.these.mac
316e0 72 6f 73 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 ros.are.prefixed.with.two.dashes
31700 20 28 e2 80 98 2d 2d e2 80 99 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 20 20 20 .(...--...).instead.of.one......
31720 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e For.instance,.while.the.function
31740 20 e2 80 98 2d 6d 61 70 e2 80 99 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 ....-map....applies.a.function.t
31760 6f 20 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e o.each.element.of.a.list,.its.an
31780 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 20 aphoric.counterpart....--map....
317a0 65 76 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 0a 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 evaluates.a.form.with.the.local.
317c0 76 61 72 69 61 62 6c 65 20 e2 80 98 69 74 e2 80 99 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f variable....it....temporarily.bo
317e0 75 6e 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e 74 20 und.to.the.current.list.element.
31800 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e instead........;;.Normal.version
31820 2e 0a 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 .......(-map.(lambda.(n).(*.n.n)
31840 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 ).'(1.2.3.4))..............(1.4.
31860 39 20 31 36 29 0a 0a 20 20 20 20 20 3b 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 9.16).......;;.Anaphoric.version
31880 2e 0a 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 .......(--map.(*.it.it).'(1.2.3.
318a0 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 20 20 4))..............(1.4.9.16).....
318c0 54 68 65 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 The.normal.version.can,.of.cours
318e0 65 2c 20 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 0a 66 6f 6c e,.also.be.written.as.in.the.fol
31900 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 lowing.example,.which.demonstrat
31920 65 73 20 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e es.the.utility.of.both.versions.
31940 0a 0a 20 20 20 20 20 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 20 20 .......(defun.my-square.(n).....
31960 20 20 20 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c ..."Return.N.multiplied.by.itsel
31980 66 2e 22 0a 20 20 20 20 20 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 20 20 20 20 20 28 2d 6d 61 70 20 f."........(*.n.n)).......(-map.
319a0 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 #'my-square.'(1.2.3.4)).........
319c0 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4d 61 70 73 .....(1.4.9.16)..*.Menu:..*.Maps
319e0 3a 3a 0a 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 ::.*.Sublist.selection::.*.List.
31a00 74 6f 20 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c to.list::.*.Reductions::.*.Unfol
31a20 64 69 6e 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f ding::.*.Predicates::.*.Partitio
31a40 6e 69 6e 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 ning::.*.Indexing::.*.Set.operat
31a60 69 6f 6e 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a ions::.*.Other.list.operations::
31a80 0a 2a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 .*.Tree.operations::.*.Threading
31aa0 20 6d 61 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 .macros::.*.Binding::.*.Side.eff
31ac0 65 63 74 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a ects::.*.Destructive.operations:
31ae0 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 1f 0a 46 69 :.*.Function.combinators::....Fi
31b00 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 61 70 73 2c le:.docpgQ07Y.info,..Node:.Maps,
31b20 20 20 4e 65 78 74 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 ..Next:.Sublist.selection,..Up:.
31b40 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 20 4d 61 70 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 Functions..2.1.Maps.========..Fu
31b60 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 nctions.in.this.category.take.a.
31b80 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 transforming.function,.which.is.
31ba0 74 68 65 6e 0a 61 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 then.applied.sequentially.to.eac
31bc0 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e h.or.selected.elements.of.the.in
31be0 70 75 74 20 6c 69 73 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 put.list..The.results.are.collec
31c00 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6e ted.in.order.and.returned.as.a.n
31c20 65 77 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 20 28 66 6e ew.list....--.Function:.-map.(fn
31c40 20 6c 69 73 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 .list)......Apply.FN.to.each.ite
31c60 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 m.in.LIST.and.return.the.list.of
31c80 20 72 65 73 75 6c 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 .results........This.function...
31ca0 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d s.anaphoric.counterpart.is....--
31cc0 6d 61 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 map................(-map.(lambda
31ce0 20 28 6e 75 6d 29 20 28 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a .(num).(*.num.num)).'(1.2.3.4)).
31d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 20 20 20 ..................(1.4.9.16)....
31d20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 .......(-map.#'1+.'(1.2.3.4))...
31d40 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 ................(2.3.4.5).......
31d60 20 20 20 20 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 ....(--map.(*.it.it).'(1.2.3.4))
31d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 ...................(1.4.9.16)...
31da0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 --.Function:.-map-when.(pred.rep
31dc0 20 6c 69 73 74 29 0a 20 20 20 20 20 55 73 65 20 50 52 45 44 20 74 6f 20 63 6f 6e 64 69 74 69 6f .list)......Use.PRED.to.conditio
31de0 6e 61 6c 6c 79 20 61 70 70 6c 79 20 52 45 50 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 nally.apply.REP.to.each.item.in.
31e00 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 61 0a 20 20 20 20 20 63 6f 70 79 20 6f 66 20 4c 49 53 LIST...Return.a......copy.of.LIS
31e20 54 20 77 68 65 72 65 20 74 68 65 20 69 74 65 6d 73 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 T.where.the.items.for.which.PRED
31e40 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 61 72 65 0a 20 20 20 20 20 75 6e 63 68 .returns....nil....are......unch
31e60 61 6e 67 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 74 20 61 72 65 20 6d 61 70 70 65 64 20 74 anged,.and.the.rest.are.mapped.t
31e80 68 72 6f 75 67 68 20 74 68 65 20 52 45 50 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 41 hrough.the.REP.function........A
31ea0 6c 69 61 73 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 e2 80 99 0a 0a 20 20 20 20 lias:....-replace-where.........
31ec0 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 75 70 64 61 74 65 2d 61 74 e2 80 99 20 28 2a 6e 6f .See.also:....-update-at....(*no
31ee0 74 65 20 2d 75 70 64 61 74 65 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 te.-update-at::)............(-ma
31f00 70 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 p-when.'even?.'square.'(1.2.3.4)
31f20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 31 36 29 0a 20 )...................(1.4.3.16)..
31f40 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a .........(--map-when.(>.it.2).(*
31f60 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .it.it).'(1.2.3.4)).............
31f80 20 20 e2 87 92 20 28 31 20 32 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 ......(1.2.9.16)...........(--ma
31fa0 70 2d 77 68 65 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 p-when.(=.it.2).17.'(1.2.3.4))..
31fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 37 20 33 20 34 29 0a 0a 20 2d 2d .................(1.17.3.4)...--
31fe0 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 65 64 20 72 65 70 20 .Function:.-map-first.(pred.rep.
32000 6c 69 73 74 29 0a 20 20 20 20 20 55 73 65 20 50 52 45 44 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 list)......Use.PRED.to.determine
32020 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 74 6f 20 63 61 6c 6c 20 .the.first.item.in.LIST.to.call.
32040 52 45 50 20 6f 6e 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 REP.on.......Return.a.copy.of.LI
32060 53 54 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 ST.where.the.first.item.for.whic
32080 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 h.PRED.returns......non-...nil..
320a0 99 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 ..is.replaced.with.the.result.of
320c0 20 63 61 6c 6c 69 6e 67 20 52 45 50 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 20 20 20 20 .calling.REP.on.that.item.......
320e0 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 .See.also:....-map-when....(*not
32100 65 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 2c 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 e.-map-when::),....-replace-firs
32120 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 3a t....(*note......-replace-first:
32140 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e 3f :)............(-map-first.'even?
32160 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .'square.'(1.2.3.4))............
32180 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 .......(1.4.3.4)...........(--ma
321a0 70 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 p-first.(>.it.2).(*.it.it).'(1.2
321c0 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 39 20 .3.4))...................(1.2.9.
321e0 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 20 4)...........(--map-first.(=.it.
32200 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2).17.'(1.2.3.2))...............
32220 e2 87 92 20 28 31 20 31 37 20 33 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d ....(1.17.3.2)...--.Function:.-m
32240 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 55 73 65 ap-last.(pred.rep.list)......Use
32260 20 50 52 45 44 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d .PRED.to.determine.the.last.item
32280 20 69 6e 20 4c 49 53 54 20 74 6f 20 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 20 20 52 65 74 75 72 6e .in.LIST.to.call.REP.on...Return
322a0 0a 20 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 20 74 68 65 20 6c ......a.copy.of.LIST.where.the.l
322c0 61 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 ast.item.for.which.PRED.returns.
322e0 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 0a 20 20 20 20 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 non-...nil.........is.replaced.w
32300 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 52 45 50 20 6f 6e ith.the.result.of.calling.REP.on
32320 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d .that.item........See.also:....-
32340 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 2c map-when....(*note.-map-when::),
32360 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 ....-replace-last....(*note.....
32380 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d .-replace-last::)............(-m
323a0 61 70 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 ap-last.'even?.'square.'(1.2.3.4
323c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 36 29 0a ))...................(1.2.3.16).
323e0 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3e 20 69 74 20 32 29 20 28 ..........(--map-last.(>.it.2).(
32400 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 *.it.it).'(1.2.3.4))............
32420 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d .......(1.2.3.16)...........(--m
32440 61 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a ap-last.(=.it.2).17.'(1.2.3.2)).
32460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 37 29 0a 0a 20 2d ..................(1.2.3.17)...-
32480 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 6e 20 6c 69 73 -.Function:.-map-indexed.(fn.lis
324a0 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 t)......Apply.FN.to.each.index.a
324c0 6e 64 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c nd.item.in.LIST.and.return.the.l
324e0 69 73 74 20 6f 66 0a 20 20 20 20 20 72 65 73 75 6c 74 73 2e 20 20 54 68 69 73 20 69 73 20 6c 69 ist.of......results...This.is.li
32500 6b 65 20 e2 80 98 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 3a 3a 29 2c 20 62 75 ke....-map....(*note.-map::),.bu
32520 74 20 46 4e 20 74 61 6b 65 73 20 74 77 6f 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 t.FN.takes.two......arguments:.t
32540 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 he.index.of.the.current.element.
32560 77 69 74 68 69 6e 20 4c 49 53 54 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e within.LIST,.and.the......elemen
32580 74 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 t.itself........This.function...
325a0 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d s.anaphoric.counterpart.is....--
325c0 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 20 73 69 64 65 map-indexed...........For.a.side
325e0 2d 65 66 66 65 63 74 69 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 -effecting.variant,.see.also....
32600 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 65 61 -each-indexed....(*note......-ea
32620 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d ch-indexed::).............(-map-
32640 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 61 20 28 69 6e 64 65 78 20 69 74 65 6d 29 20 28 2d 20 indexed.(lambda.(index.item).(-.
32660 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 item.index)).'(1.2.3.4))........
32680 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 ...........(1.1.1.1)...........(
326a0 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 --map-indexed.(-.it.it-index).'(
326c0 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 1.2.3.4))...................(1.1
326e0 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 27 .1.1)...........(-map-indexed.#'
32700 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 *.'(1.2.3.4))...................
32720 28 30 20 32 20 36 20 31 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 6e 6f 74 (0.2.6.12)...--.Function:.-annot
32740 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 69 72 20 65 61 63 68 20 69 74 65 ate.(fn.list)......Pair.each.ite
32760 6d 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 70 61 73 m.in.LIST.with.the.result.of.pas
32780 73 69 6e 67 20 69 74 20 74 6f 20 46 4e 2e 0a 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 61 sing.it.to.FN........Return.an.a
327a0 6c 69 73 74 20 6f 66 20 28 52 45 53 55 4c 54 20 2e 20 20 49 54 45 4d 29 2c 20 77 68 65 72 65 20 list.of.(RESULT....ITEM),.where.
327c0 65 61 63 68 20 49 54 45 4d 20 69 73 20 74 68 65 0a 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 each.ITEM.is.the......correspond
327e0 69 6e 67 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 52 45 53 55 4c 54 20 ing.element.of.LIST,.and.RESULT.
32800 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 62 74 61 69 6e 65 64 20 62 79 0a 20 20 20 20 20 63 61 is.the.value.obtained.by......ca
32820 6c 6c 69 6e 67 20 46 4e 20 6f 6e 20 49 54 45 4d 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e lling.FN.on.ITEM........This.fun
32840 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 ction...s.anaphoric.counterpart.
32860 69 73 20 e2 80 98 2d 2d 61 6e 6e 6f 74 61 74 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 is....--annotate................
32880 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 31 2b 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 (-annotate.#'1+.'(1.2.3)).......
328a0 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 29 20 28 34 20 ............((2...1).(3...2).(4.
328c0 2e 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 6c 65 6e ..3))...........(-annotate.#'len
328e0 67 74 68 20 27 28 28 66 20 6f 20 6f 29 20 28 62 61 72 20 62 61 7a 29 29 29 0a 20 20 20 20 20 20 gth.'((f.o.o).(bar.baz))).......
32900 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 20 66 20 6f 20 6f 29 20 28 32 20 62 61 72 20 62 61 ............((3.f.o.o).(2.bar.ba
32920 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3e 20 69 74 20 z))...........(--annotate.(>.it.
32940 31 29 20 27 28 30 20 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 1).'(0.1.2.3))..................
32960 20 28 28 6e 69 6c 20 2e 20 30 29 20 28 6e 69 6c 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 .((nil...0).(nil...1).(t...2).(t
32980 20 2e 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 63 65 20 28 70 ...3))...--.Function:.-splice.(p
329a0 72 65 64 20 66 75 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 63 65 20 6c 69 73 74 73 20 red.fun.list)......Splice.lists.
329c0 67 65 6e 65 72 61 74 65 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 69 74 65 generated.by.FUN.in.place.of.ite
329e0 6d 73 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 0a 20 20 20 20 20 4c 49 53 54 2e ms.satisfying.PRED.in......LIST.
32a00 0a 0a 20 20 20 20 20 43 61 6c 6c 20 50 52 45 44 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 .......Call.PRED.on.each.element
32a20 20 6f 66 20 4c 49 53 54 2e 20 20 57 68 65 6e 65 76 65 72 20 74 68 65 20 72 65 73 75 6c 74 20 6f .of.LIST...Whenever.the.result.o
32a40 66 20 50 52 45 44 20 69 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6c 65 61 76 65 20 f.PRED.is.........nil...,.leave.
32a60 74 68 61 74 20 e2 80 98 69 74 e2 80 99 20 61 73 2d 69 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c that....it....as-is...Otherwise,
32a80 20 63 61 6c 6c 20 46 55 4e 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 e2 80 98 69 74 e2 80 99 0a 20 .call.FUN.on.the.same....it.....
32aa0 20 20 20 20 74 68 61 74 20 73 61 74 69 73 66 69 65 64 20 50 52 45 44 2e 20 20 54 68 65 20 72 65 ....that.satisfied.PRED...The.re
32ac0 73 75 6c 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 sult.should.be.a.(possibly.empty
32ae0 29 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 69 74 65 6d 73 20 74 6f 20 73 70 6c 69 63 65 20 69 ).list......of.items.to.splice.i
32b00 6e 20 70 6c 61 63 65 20 6f 66 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 n.place.of....it....in.LIST.....
32b20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 61 73 20 61 6e 20 61 6c 74 65 ...This.can.be.useful.as.an.alte
32b40 72 6e 61 74 69 76 65 20 74 6f 20 74 68 65 20 e2 80 98 2c 40 e2 80 99 20 63 6f 6e 73 74 72 75 63 rnative.to.the....,@....construc
32b60 74 20 69 6e 20 61 20 e2 80 98 60 e2 80 99 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 2c 20 69 t.in.a....`.........structure,.i
32b80 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 n.case.you.need.to.splice.severa
32ba0 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 73 l.lists.at.marked......positions
32bc0 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 20 .(for.example.with.keywords)....
32be0 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 ....This.function...s.anaphoric.
32c00 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 73 70 6c 69 63 65 e2 80 99 2e 0a 0a counterpart.is....--splice......
32c20 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 .....See.also:....-splice-list..
32c40 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 3a 29 2c 20 e2 80 98 2d 69 6e ..(*note.-splice-list::),....-in
32c60 73 65 72 74 2d 61 74 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 69 6e 73 65 72 74 2d 61 sert-at.........(*note.-insert-a
32c80 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 20 23 27 6e 75 6d 62 t::).............(-splice.#'numb
32ca0 65 72 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 6c 69 73 74 20 6e 20 6e 29 29 20 27 28 61 20 erp.(lambda.(n).(list.n.n)).'(a.
32cc0 31 20 62 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 61 20 31 20 31 1.b.2))...................(a.1.1
32ce0 20 62 20 32 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 20 74 20 28 6c .b.2.2)...........(--splice.t.(l
32d00 69 73 74 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 ist.it.it).'(1.2.3.4))..........
32d20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 34 29 0a 20 20 20 20 20 .........(1.1.2.2.3.3.4.4)......
32d40 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 20 69 74 20 3a 6d 61 67 69 63 29 20 27 28 .....(--splice.(eq.it.:magic).'(
32d60 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 29 20 27 28 28 66 6f 6f 29 20 3a 6d 61 67 69 63 (magical).(code)).'((foo).:magic
32d80 20 28 62 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 66 6f 6f .(bar)))...................((foo
32da0 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 72 29 29 0a 0a 20 2d 2d 20 46 ).(magical).(code).(bar))...--.F
32dc0 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d unction:.-splice-list.(pred.new-
32de0 6c 69 73 74 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 63 65 20 4e 45 57 2d 4c 49 53 54 20 list.list)......Splice.NEW-LIST.
32e00 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 50 52 in.place.of.elements.matching.PR
32e20 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d ED.in.LIST........See.also:....-
32e40 73 70 6c 69 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c 20 e2 80 98 splice....(*note.-splice::),....
32e60 2d 69 6e 73 65 72 74 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 69 6e 73 65 72 -insert-at....(*note......-inser
32e80 74 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 t-at::)............(-splice-list
32ea0 20 27 6b 65 79 77 6f 72 64 70 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 .'keywordp.'(a.b.c).'(1.:foo.2))
32ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 61 20 62 20 63 20 32 29 0a 20 ...................(1.a.b.c.2)..
32ee0 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 .........(-splice-list.'keywordp
32f00 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil.'(1.:foo.2))...............
32f20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 2d 6c 69 ....(1.2)...........(--splice-li
32f40 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 st.(keywordp.it).'(a.b.c).'(1.:f
32f60 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 61 20 62 20 oo.2))...................(1.a.b.
32f80 63 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 c.2)...--.Function:.-mapcat.(fn.
32fa0 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 list)......Return.the.concatenat
32fc0 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 46 4e 20 ion.of.the.result.of.mapping.FN.
32fe0 6f 76 65 72 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 46 4e over.LIST.......Thus.function.FN
33000 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 .should.return.a.list...........
33020 20 20 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 ..(-mapcat.'list.'(1.2.3))......
33040 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 .............(1.2.3)...........(
33060 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 6c 69 73 74 20 30 20 69 -mapcat.(lambda.(item).(list.0.i
33080 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 tem)).'(1.2.3)).................
330a0 92 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 ..(0.1.0.2.0.3)...........(--map
330c0 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 cat.(list.0.it).'(1.2.3)).......
330e0 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 0a 20 2d 2d 20 46 ............(0.1.0.2.0.3)...--.F
33100 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 70 79 20 28 6c 69 73 74 29 0a 20 20 20 20 20 43 72 65 61 74 unction:.-copy.(list)......Creat
33120 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 20 20 54 68 65 20 65 e.a.shallow.copy.of.LIST...The.e
33140 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 63 6f 70 lements.of.LIST.are.not......cop
33160 69 65 64 3b 20 74 68 65 79 20 61 72 65 20 73 68 61 72 65 64 20 77 69 74 68 20 74 68 65 20 6f 72 ied;.they.are.shared.with.the.or
33180 69 67 69 6e 61 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 70 79 20 27 28 31 20 32 20 iginal.............(-copy.'(1.2.
331a0 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 3))...................(1.2.3)...
331c0 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 29 29 29 20 28 65 71 20 ........(let.((a.'(1.2.3))).(eq.
331e0 61 20 28 2d 63 6f 70 79 20 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 a.(-copy.a)))...................
33200 6e 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f nil....File:.docpgQ07Y.info,..No
33220 64 65 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 4c 69 de:.Sublist.selection,..Next:.Li
33240 73 74 20 74 6f 20 6c 69 73 74 2c 20 20 50 72 65 76 3a 20 4d 61 70 73 2c 20 20 55 70 3a 20 46 75 st.to.list,..Prev:.Maps,..Up:.Fu
33260 6e 63 74 69 6f 6e 73 0a 0a 32 2e 32 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 3d nctions..2.2.Sublist.selection.=
33280 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 ====================..Functions.
332a0 72 65 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 6f 72 69 67 69 returning.a.sublist.of.the.origi
332c0 6e 61 6c 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6c 74 65 72 nal.list....--.Function:.-filter
332e0 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c .(pred.list)......Return.a.new.l
33300 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 ist.of.the.items.in.LIST.for.whi
33320 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 ch.PRED.returns......non-...nil.
33340 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 73 65 6c 65 63 74 e2 80 99 2e 0a ..........Alias:....-select.....
33360 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 ......This.function...s.anaphori
33380 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 6c 74 65 72 e2 80 99 2e c.counterpart.is....--filter....
333a0 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 .......For.similar.operations,.s
333c0 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6b 65 65 70 ee.also....-keep....(*note.-keep
333e0 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 ::).and.........-remove....(*not
33400 65 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 e.-remove::).............(-filte
33420 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 r.(lambda.(num).(=.0.(%.num.2)))
33440 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .'(1.2.3.4))...................(
33460 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 23 27 6e 61 74 6e 75 6d 2.4)...........(-filter.#'natnum
33480 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.'(-2.-1.0.1.2))...............
334a0 e2 87 92 20 28 30 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 ....(0.1.2)...........(--filter.
334c0 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 (=.0.(%.it.2)).'(1.2.3.4))......
334e0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .............(2.4)...--.Function
33500 3a 20 2d 72 65 6d 6f 76 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 :.-remove.(pred.list)......Retur
33520 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 n.a.new.list.of.the.items.in.LIS
33540 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 e2 80 T.for.which.PRED.returns........
33560 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 63 74 .nil...........Alias:....-reject
33580 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 ...........This.function...s.ana
335a0 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 6d 6f 76 phoric.counterpart.is....--remov
335c0 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f e...........For.similar.operatio
335e0 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 28 2a 6e 6f 74 65 20 ns,.see.also....-keep....(*note.
33600 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 66 69 6c 74 65 72 e2 80 99 20 -keep::).and.........-filter....
33620 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d (*note.-filter::).............(-
33640 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d remove.(lambda.(num).(=.0.(%.num
33660 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2))).'(1.2.3.4))...............
33680 e2 87 92 20 28 31 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 20 23 27 6e ....(1.3)...........(-remove.#'n
336a0 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 atnump.'(-2.-1.0.1.2))..........
336c0 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 .........(-2.-1)...........(--re
336e0 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a move.(=.0.(%.it.2)).'(1.2.3.4)).
33700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 0a 20 2d 2d 20 46 75 6e ..................(1.3)...--.Fun
33720 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 ction:.-remove-first.(pred.list)
33740 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d ......Remove.the.first.item.from
33760 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e .LIST.for.which.PRED.returns.non
33780 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 -...nil..........This.is.a.non-d
337a0 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 estructive.operation,.but.only.t
337c0 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 6c 65 61 64 69 6e 67 20 75 70 he.front.of.LIST......leading.up
337e0 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 .to.the.removed.item.is.a.copy;.
33800 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 e2 80 99 73 0a 20 20 20 20 20 6f 72 69 67 69 6e the.rest.is.LIST...s......origin
33820 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c al.tail...If.no.item.is.removed,
33840 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 20 20 20 20 20 63 6f 6d 70 6c .then.the.result.is.a......compl
33860 65 74 65 20 63 6f 70 79 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 63 ete.copy........Alias:....-rejec
33880 74 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 t-first...........This.function.
338a0 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 ..s.anaphoric.counterpart.is....
338c0 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 --remove-first...........See.als
338e0 6f 20 e2 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 66 o....-map-first....(*note.-map-f
33900 69 72 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f irst::),....-remove-item....(*no
33920 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 98 te......-remove-item::),.and....
33940 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 6c -remove-last....(*note.-remove-l
33960 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 ast::).............(-remove-firs
33980 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 t.#'natnump.'(-2.-1.0.1.2)).....
339a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 20 31 20 32 29 0a 20 20 20 20 20 20 ..............(-2.-1.1.2).......
339c0 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 ....(-remove-first.#'stringp.'(1
339e0 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 .2."first"."second"))...........
33a00 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 20 20 20 20 20 20 20 20 20 ........(1.2."second")..........
33a20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 .(--remove-first.(>.it.3).'(1.2.
33a40 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 3.4.5.6))...................(1.2
33a60 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 6c .3.5.6)...--.Function:.-remove-l
33a80 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 ast.(pred.list)......Remove.the.
33aa0 6c 61 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 last.item.from.LIST.for.which.PR
33ac0 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 54 ED.returns.non-...nil..........T
33ae0 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 he.result.is.a.copy.of.LIST.rega
33b00 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a rdless.of.whether.an.element.is.
33b20 20 20 20 20 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 .....removed........Alias:....-r
33b40 65 6a 65 63 74 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 eject-last...........This.functi
33b60 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 on...s.anaphoric.counterpart.is.
33b80 e2 80 98 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 ...--remove-last...........See.a
33ba0 6c 73 6f 20 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d lso....-map-last....(*note.-map-
33bc0 6c 61 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f last::),....-remove-item....(*no
33be0 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 98 te......-remove-item::),.and....
33c00 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d -remove-first....(*note.-remove-
33c20 66 69 72 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 6c 61 first::).............(-remove-la
33c40 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 st.#'natnump.'(1.3.5.4.7.8.10.-1
33c60 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 35 20 34 20 37 1))...................(1.3.5.4.7
33c80 20 38 20 2d 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 .8.-11)...........(-remove-last.
33ca0 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 #'stringp.'(1.2."last"."second")
33cc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 6c 61 73 74 22 29 )...................(1.2."last")
33ce0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 3e 20 69 74 20 ...........(--remove-last.(>.it.
33d00 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 0a 20 20 20 20 3).'(1.2.3.4.5.6.7.8.9.10)).....
33d20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 ..............(1.2.3.4.5.6.7.8.9
33d40 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 28 69 )...--.Function:.-remove-item.(i
33d60 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 tem.list)......Return.a.copy.of.
33d80 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 49 54 45 LIST.with.all.occurrences.of.ITE
33da0 4d 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 63 6f 6d 70 61 72 69 73 6f 6e 20 M.removed...The......comparison.
33dc0 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 is.done.with....equal...........
33de0 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 20 33 20 32 20 33 .....(-remove-item.3.'(1.2.3.2.3
33e00 20 34 20 35 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 .4.5.3))...................(1.2.
33e20 32 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 2.4.5)...........(-remove-item.'
33e40 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 20 20 20 20 20 foo.'(foo.bar.baz.foo)).........
33e60 20 20 20 20 20 20 e2 87 92 20 28 62 61 72 20 62 61 7a 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..........(bar.baz)...........(-
33e80 72 65 6d 6f 76 65 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 remove-item."bob".'("alice"."bob
33ea0 22 20 22 65 76 65 22 20 22 62 6f 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 "."eve"."bob")).................
33ec0 92 20 28 22 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ..("alice"."eve")...--.Function:
33ee0 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 .-non-nil.(list)......Return.a.c
33f00 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 e2 80 98 6e 69 6c e2 80 99 20 69 opy.of.LIST.with.all....nil....i
33f20 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e tems.removed.............(-non-n
33f40 69 6c 20 27 28 6e 69 6c 20 31 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 34 20 6e 69 6c il.'(nil.1.nil.2.nil.nil.3.4.nil
33f60 20 35 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 .5.nil))...................(1.2.
33f80 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 28 6e 69 3.4.5)...........(-non-nil.'((ni
33fa0 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 29 29 0a 20 l)))...................((nil))..
33fc0 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 .........(-non-nil.())..........
33fe0 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6c 69 63 .........()...--.Function:.-slic
34000 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a e.(list.from.&optional.to.step).
34020 20 20 20 20 20 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2c 20 73 74 61 72 74 69 .....Return.copy.of.LIST,.starti
34040 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 46 52 4f 4d 20 74 6f 20 69 6e 64 65 78 20 54 4f 2e 0a ng.from.index.FROM.to.index.TO..
34060 0a 20 20 20 20 20 46 52 4f 4d 20 6f 72 20 54 4f 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 ......FROM.or.TO.may.be.negative
34080 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e 74 65 72 70 72 ...These.values.are.then.interpr
340a0 65 74 65 64 0a 20 20 20 20 20 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 eted......modulo.the.length.of.t
340c0 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 6d 62 he.list........If.STEP.is.a.numb
340e0 65 72 2c 20 6f 6e 6c 79 20 65 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 er,.only.each.STEPth.item.in.the
34100 20 72 65 73 75 6c 74 69 6e 67 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 72 65 74 75 72 .resulting.section......is.retur
34120 6e 65 64 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 ned...Defaults.to.1.............
34140 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 31 29 0a 20 20 20 20 20 20 20 20 (-slice.'(1.2.3.4.5).1).........
34160 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..........(2.3.4.5)...........(-
34180 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 0a 20 20 20 20 20 20 20 20 slice.'(1.2.3.4.5).0.3).........
341a0 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c ..........(1.2.3)...........(-sl
341c0 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 20 31 20 2d 31 20 32 29 ice.'(1.2.3.4.5.6.7.8.9).1.-1.2)
341e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 36 20 38 29 0a 0a 20 2d ...................(2.4.6.8)...-
34200 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 -.Function:.-take.(n.list)......
34220 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 Return.a.copy.of.the.first.N.ite
34240 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 ms.in.LIST...Return.a.copy.of.LI
34260 53 54 0a 20 20 20 20 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f ST......if.it.contains.N.items.o
34280 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4e 20 r.fewer...Return....nil....if.N.
342a0 69 73 20 7a 65 72 6f 20 6f 72 0a 20 20 20 20 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 is.zero.or......less........See.
342c0 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 6b 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 also:....-take-last....(*note.-t
342e0 61 6b 65 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 33 ake-last::).............(-take.3
34300 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .'(1.2.3.4.5))..................
34320 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 31 37 20 27 28 31 .(1.2.3)...........(-take.17.'(1
34340 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 .2.3.4.5))...................(1.
34360 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 30 20 27 28 31 20 2.3.4.5)...........(-take.0.'(1.
34380 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 2.3.4.5))...................()..
343a0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 .--.Function:.-take-last.(n.list
343c0 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 61 73 74 )......Return.a.copy.of.the.last
343e0 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f 72 64 65 72 2e 20 20 52 65 74 75 .N.items.of.LIST.in.order...Retu
34400 72 6e 20 61 20 63 6f 70 79 0a 20 20 20 20 20 6f 66 20 4c 49 53 54 20 69 66 20 69 74 20 63 6f 6e rn.a.copy......of.LIST.if.it.con
34420 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 tains.N.items.or.fewer...Return.
34440 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 0a 20 20 20 20 20 6f 72 20 6c ...nil....if.N.is.zero......or.l
34460 65 73 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 6b 65 e2 80 99 ess........See.also:....-take...
34480 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 .(*note.-take::).............(-t
344a0 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 ake-last.3.'(1.2.3.4.5))........
344c0 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 ...........(3.4.5)...........(-t
344e0 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 ake-last.17.'(1.2.3.4.5)).......
34500 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 ............(1.2.3.4.5).........
34520 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ..(-take-last.1.'(1.2.3.4.5))...
34540 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ................(5)...--.Functio
34560 6e 3a 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 n:.-drop.(n.list)......Return.th
34580 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 77 69 74 68 e.tail.(not.a.copy).of.LIST.with
345a0 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 20 20 20 20 20 52 65 74 75 out.the.first.N.items.......Retu
345c0 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 rn....nil....if.LIST.contains.N.
345e0 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 4c 49 53 54 20 69 66 20 items.or.fewer...Return.LIST.if.
34600 4e 0a 20 20 20 20 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 46 6f N......is.zero.or.less........Fo
34620 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d r.another.variant,.see.also....-
34640 64 72 6f 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d 6c 61 73 74 3a 3a drop-last....(*note.-drop-last::
34660 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 ).............(-drop.3.'(1.2.3.4
34680 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 20 20 20 .5))...................(4.5)....
346a0 20 20 20 20 20 20 20 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 .......(-drop.17.'(1.2.3.4.5))..
346c0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .................()...........(-
346e0 64 72 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 drop.0.'(1.2.3.4.5))............
34700 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .......(1.2.3.4.5)...--.Function
34720 3a 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 :.-drop-last.(n.list)......Retur
34740 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 69 74 73 20 6c 61 73 n.a.copy.of.LIST.without.its.las
34760 74 20 4e 20 69 74 65 6d 73 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 0a 20 20 20 t.N.items...Return.a.copy.of....
34780 20 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 20 20 52 65 ..LIST.if.N.is.zero.or.less...Re
347a0 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 turn....nil....if.LIST.contains.
347c0 4e 20 69 74 65 6d 73 0a 20 20 20 20 20 6f 72 20 66 65 77 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 N.items......or.fewer........See
347e0 20 61 6c 73 6f 3a 20 e2 80 98 2d 64 72 6f 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 3a .also:....-drop....(*note.-drop:
34800 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 :).............(-drop-last.3.'(1
34820 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 .2.3.4.5))...................(1.
34840 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 2)...........(-drop-last.17.'(1.
34860 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 2.3.4.5))...................()..
34880 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 34 .........(-drop-last.0.'(1.2.3.4
348a0 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 .5))...................(1.2.3.4.
348c0 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 70 5)...--.Function:.-take-while.(p
348e0 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 red.list)......Take.successive.i
34900 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 tems.from.LIST.for.which.PRED.re
34920 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 50 52 45 44 20 69 turns.non-...nil..........PRED.i
34940 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 s.a.function.of.one.argument...R
34960 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 75 63 eturn.a.new.list.of.the......suc
34980 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 cessive.elements.from.the.start.
349a0 6f 66 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 of.LIST.for.which.PRED.returns..
349c0 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 ....non-...nil...........This.fu
349e0 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 nction...s.anaphoric.counterpart
34a00 20 69 73 20 e2 80 98 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f .is....--take-while...........Fo
34a20 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d r.another.variant,.see.also....-
34a40 64 72 6f 70 2d 77 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d 77 68 69 6c 65 drop-while....(*note.-drop-while
34a60 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 ::).............(-take-while.#'e
34a80 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ven?.'(1.2.3.4))................
34aa0 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 ...()...........(-take-while.#'e
34ac0 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ven?.'(2.4.5.6))................
34ae0 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 ...(2.4)...........(--take-while
34b00 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 .(<.it.4).'(1.2.3.4.3.2.1)).....
34b20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..............(1.2.3)...--.Funct
34b40 69 6f 6e 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 ion:.-drop-while.(pred.list)....
34b60 20 20 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 ..Drop.successive.items.from.LIS
34b80 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 T.for.which.PRED.returns.non-...
34ba0 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 nil..........PRED.is.a.function.
34bc0 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 of.one.argument...Return.the.tai
34be0 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 20 20 20 20 20 6f 66 20 4c 49 53 54 20 73 74 61 72 l.(not.a.copy)......of.LIST.star
34c00 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 ting.from.its.first.element.for.
34c20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 which.PRED.returns.........nil..
34c40 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 .........This.function...s.anaph
34c60 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 72 6f 70 2d 77 68 oric.counterpart.is....--drop-wh
34c80 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e ile...........For.another.varian
34ca0 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 74 61 6b 65 2d 77 68 69 6c 65 e2 80 99 20 28 2a t,.see.also....-take-while....(*
34cc0 6e 6f 74 65 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 note.-take-while::).............
34ce0 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 (-drop-while.#'even?.'(1.2.3.4))
34d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 ...................(1.2.3.4)....
34d20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 .......(-drop-while.#'even?.'(2.
34d40 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 29 0a 4.5.6))...................(5.6).
34d60 20 20 20 20 20 20 20 20 20 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 ..........(--drop-while.(<.it.4)
34d80 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'(1.2.3.4.3.2.1))..............
34da0 20 e2 87 92 20 28 34 20 33 20 32 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 .....(4.3.2.1)...--.Function:.-s
34dc0 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a elect-by-indices.(indices.list).
34de0 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 .....Return.a.list.whose.element
34e00 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 20 73 65 6c 65 63 74 65 s.are.elements.from.LIST.selecte
34e20 64 20 61 73 0a 20 20 20 20 20 e2 80 98 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 98 20 66 6f 72 d.as.........(nth.i.list)....for
34e40 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 .all.i.from.INDICES.............
34e60 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 32 20 33 20 36 (-select-by-indices.'(4.10.2.3.6
34e80 29 20 27 28 22 76 22 20 22 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 20 22 72 22 20 ).'("v"."e"."l"."o"."c"."i"."r".
34ea0 22 61 22 20 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 "a"."p"."t"."o"."r"))...........
34ec0 20 20 20 20 e2 87 92 20 28 22 63 22 20 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 20 20 ........("c"."o"."l"."o"."r")...
34ee0 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 32 20 ........(-select-by-indices.'(2.
34f00 31 20 30 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 1.0).'("a"."b"."c"))............
34f20 20 20 20 e2 87 92 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 .......("c"."b"."a")...........(
34f40 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 30 20 31 20 32 20 30 20 31 20 33 -select-by-indices.'(0.1.2.0.1.3
34f60 20 33 20 31 29 20 27 28 22 66 22 20 22 61 22 20 22 72 22 20 22 6c 22 29 29 0a 20 20 20 20 20 20 .3.1).'("f"."a"."r"."l")).......
34f80 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 66 22 20 22 61 22 20 22 72 22 20 22 66 22 20 22 61 22 ............("f"."a"."r"."f"."a"
34fa0 20 22 6c 22 20 22 6c 22 20 22 61 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 ."l"."l"."a")...--.Function:.-se
34fc0 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 20 20 20 lect-columns.(columns.table)....
34fe0 20 20 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 20 ..Select.COLUMNS.from.TABLE.....
35000 20 20 20 54 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 ...TABLE.is.a.list.of.lists.wher
35020 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f e.each.element.represents.one.ro
35040 77 2e 20 20 49 74 0a 20 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 w...It......is.assumed.each.row.
35060 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 has.the.same.length........Each.
35080 72 6f 77 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c row.is.transformed.such.that.onl
350a0 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 20 20 20 20 y.the.specified.COLUMNS.are.....
350c0 20 73 65 6c 65 63 74 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 .selected........See.also:....-s
350e0 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 63 elect-column....(*note.-select-c
35100 6f 6c 75 6d 6e 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 olumn::),.........-select-by-ind
35120 69 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 ices....(*note.-select-by-indice
35140 73 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 s::)............(-select-columns
35160 20 27 28 30 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 .'(0.2).'((1.2.3).(a.b.c).(:a.:b
35180 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 29 20 .:c)))...................((1.3).
351a0 28 61 20 63 29 20 28 3a 61 20 3a 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 (a.c).(:a.:c))...........(-selec
351c0 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 31 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 t-columns.'(1).'((1.2.3).(a.b.c)
351e0 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 .(:a.:b.:c)))...................
35200 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 ((2).(b).(:b))...........(-selec
35220 74 2d 63 6f 6c 75 6d 6e 73 20 6e 69 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 t-columns.nil.'((1.2.3).(a.b.c).
35240 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 (:a.:b.:c)))...................(
35260 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c nil.nil.nil)...--.Function:.-sel
35280 65 63 74 2d 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 20 20 20 20 53 ect-column.(column.table)......S
352a0 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 20 20 20 20 54 elect.COLUMN.from.TABLE........T
352c0 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 ABLE.is.a.list.of.lists.where.ea
352e0 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 20 20 ch.element.represents.one.row...
35300 49 74 0a 20 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 It......is.assumed.each.row.has.
35320 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 69 6e 67 6c the.same.length........The.singl
35340 65 20 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 e.selected.column.is.returned.as
35360 20 61 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 65 6c .a.list........See.also:....-sel
35380 65 63 74 2d 63 6f 6c 75 6d 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 63 6f ect-columns....(*note.-select-co
353a0 6c 75 6d 6e 73 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 lumns::),.........-select-by-ind
353c0 69 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 ices....(*note.-select-by-indice
353e0 73 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 s::)............(-select-column.
35400 31 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 1.'((1.2.3).(a.b.c).(:a.:b.:c)))
35420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 62 20 3a 62 29 0a 0a 1f 0a 46 ...................(2.b.:b)....F
35440 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 73 74 ile:.docpgQ07Y.info,..Node:.List
35460 20 74 6f 20 6c 69 73 74 2c 20 20 4e 65 78 74 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c 20 20 50 72 .to.list,..Next:.Reductions,..Pr
35480 65 76 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 ev:.Sublist.selection,..Up:.Func
354a0 74 69 6f 6e 73 0a 0a 32 2e 33 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 3d 3d 3d 3d 3d 3d 3d 3d tions..2.3.List.to.list.========
354c0 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 ========..Functions.returning.a.
354e0 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e modified.copy.of.the.input.list.
35500 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a ...--.Function:.-keep.(fn.list).
35520 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f .....Return.a.new.list.of.the.no
35540 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 n-...nil....results.of.applying.
35560 46 4e 20 74 6f 20 65 61 63 68 0a 20 20 20 20 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 4c FN.to.each......item.in.LIST...L
35580 69 6b 65 20 e2 80 98 2d 66 69 6c 74 65 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 ike....-filter....(*note.-filter
355a0 3a 3a 29 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 ::),.but.returns.the......non-..
355c0 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e 20 69 6e 73 74 65 61 64 20 6f 66 .nil....results.of.FN.instead.of
355e0 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 .the.corresponding.elements.of..
35600 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f ....LIST........Its.anaphoric.co
35620 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6b 65 65 70 e2 80 99 2e 0a 0a 20 20 20 20 unterpart.is....--keep..........
35640 20 20 20 20 20 20 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 28 31 20 32 20 33 29 20 28 34 20 ......(-keep.#'cdr.'((1.2.3).(4.
35660 35 29 20 28 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 33 5).(6)))...................((2.3
35680 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 20 ).(5))...........(-keep.(lambda.
356a0 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 20 (n).(and.(>.n.3).(*.10.n))).'(1.
356c0 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 2.3.4.5.6))...................(4
356e0 30 20 35 30 20 36 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6b 65 65 70 20 28 61 6e 64 20 0.50.60)...........(--keep.(and.
35700 28 3e 20 69 74 20 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 (>.it.3).(*.10.it)).'(1.2.3.4.5.
35720 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 30 20 35 30 20 36 30 29 6))...................(40.50.60)
35740 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 63 61 74 20 28 26 72 65 73 74 20 73 ...--.Function:.-concat.(&rest.s
35760 65 71 75 65 6e 63 65 73 29 0a 20 20 20 20 20 43 6f 6e 63 61 74 65 6e 61 74 65 20 61 6c 6c 20 53 equences)......Concatenate.all.S
35780 45 51 55 45 4e 43 45 53 20 61 6e 64 20 6d 61 6b 65 20 74 68 65 20 72 65 73 75 6c 74 20 61 20 6c EQUENCES.and.make.the.result.a.l
357a0 69 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 69 73 20 61 20 6c 69 73 74 20 ist...The.result......is.a.list.
357c0 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 whose.elements.are.the.elements.
357e0 6f 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 45 61 63 68 20 of.all.the.arguments.......Each.
35800 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 76 65 63 74 6f 72 20 6f argument.may.be.a.list,.vector.o
35820 72 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 65 78 r.string........All.arguments.ex
35840 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 61 72 65 20 63 6f 70 69 65 cept.the.last.argument.are.copie
35860 64 2e 20 20 54 68 65 20 6c 61 73 74 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6a 75 d...The.last......argument.is.ju
35880 73 74 20 75 73 65 64 20 61 73 20 74 68 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 6e 65 77 20 6c st.used.as.the.tail.of.the.new.l
358a0 69 73 74 2e 20 20 49 66 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 ist...If.the.last......argument.
358c0 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 69 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 is.not.a.list,.this.results.in.a
358e0 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 41 73 20 61 6e 20 65 78 63 65 70 74 .dotted.list........As.an.except
35900 69 6f 6e 2c 20 69 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 65 78 63 65 70 74 ion,.if.all.the.arguments.except
35920 20 74 68 65 20 6c 61 73 74 20 61 72 65 20 e2 80 98 6e 69 6c e2 80 99 2c 0a 20 20 20 20 20 61 6e .the.last.are....nil...,......an
35940 64 20 74 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 d.the.last.argument.is.not.a.lis
35960 74 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 61 74 20 6c 61 73 74 t,.the.return.value.is.that.last
35980 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 75 6e 61 6c 74 65 72 65 64 2c 20 6e 6f 74 20 61 20 ......argument.unaltered,.not.a.
359a0 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 29 0a list.............(-concat.'(1)).
359c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 ..................(1)...........
359e0 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (-concat.'(1).'(2)).............
35a00 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 ......(1.2)...........(-concat.'
35a20 28 31 29 20 27 28 32 20 33 29 20 27 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 (1).'(2.3).'(4))................
35a40 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 61 ...(1.2.3.4)...--.Function:.-fla
35a60 74 74 65 6e 20 28 6c 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 tten.(l)......Take.a.nested.list
35a80 20 4c 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 .L.and.return.its.contents.as.a.
35aa0 73 69 6e 67 6c 65 2c 20 66 6c 61 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 4e 6f single,.flat......list........No
35ac0 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 20 e2 80 98 6e 69 6c e2 80 99 20 72 65 70 72 65 73 te.that.because....nil....repres
35ae0 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e ents.a.list.of.zero.elements.(an
35b00 0a 20 20 20 20 20 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f ......empty.list),.any.mention.o
35b20 66 20 e2 80 98 6e 69 6c e2 80 99 20 69 6e 20 4c 20 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 f....nil....in.L.will.disappear.
35b40 61 66 74 65 72 0a 20 20 20 20 20 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e after......flattening...If.you.n
35b60 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 e2 eed.to.preserve.nils,.consider..
35b80 80 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 ..-flatten-n.........(*note.-fla
35ba0 74 74 65 6e 2d 6e 3a 3a 29 20 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e tten-n::).or.map.them.to.some.un
35bc0 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 0a 20 20 20 20 20 74 68 ique.symbol.and.then.map......th
35be0 65 6d 20 62 61 63 6b 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f em.back........Conses.of.two.ato
35c00 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 ms.are.considered."terminals",.t
35c20 68 61 74 20 69 73 2c 20 74 68 65 79 0a 20 20 20 20 20 61 72 65 6e e2 80 99 74 20 66 6c 61 74 74 hat.is,.they......aren...t.flatt
35c40 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 ened.further........See.also:...
35c60 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e .-flatten-n....(*note.-flatten-n
35c80 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 ::)............(-flatten.'((1)))
35ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 ...................(1)..........
35cc0 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 .(-flatten.'((1.(2.3).(((4.(5)))
35ce0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 ))))...................(1.2.3.4.
35d00 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 5)...........(-flatten.'(1.2.(3.
35d20 2e 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 ..4)))...................(1.2.(3
35d40 20 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e ...4))...--.Function:.-flatten-n
35d60 20 28 6e 75 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 46 6c 61 74 74 65 6e 20 4e 55 4d 20 6c 65 76 .(num.list)......Flatten.NUM.lev
35d80 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 20 els.of.a.nested.LIST........See.
35da0 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 also:....-flatten....(*note.-fla
35dc0 74 74 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 tten::)............(-flatten-n.1
35de0 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 .'((1.2).((3.4).((5.6)))))......
35e00 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 .............(1.2.(3.4).((5.6)))
35e20 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 ...........(-flatten-n.2.'((1.2)
35e40 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .((3.4).((5.6)))))..............
35e60 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .....(1.2.3.4.(5.6))...........(
35e80 2d 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 -flatten-n.3.'((1.2).((3.4).((5.
35ea0 36 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 6)))))...................(1.2.3.
35ec0 34 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 20 28 4.5.6)...--.Function:.-replace.(
35ee0 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f old.new.list)......Replace.all.O
35f00 4c 44 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 20 20 20 20 LD.items.in.LIST.with.NEW.......
35f20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 .Elements.are.compared.using....
35f40 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 equal...........See.also:....-re
35f60 70 6c 61 63 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a 3a place-at....(*note.-replace-at::
35f80 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 )............(-replace.1."1".'(1
35fa0 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .2.3.4.3.2.1))..................
35fc0 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 .("1".2.3.4.3.2."1")...........(
35fe0 2d 72 65 70 6c 61 63 65 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 -replace."foo"."bar".'("a"."nice
36000 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 "."foo"."sentence"."about"."foo"
36020 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 ))...................("a"."nice"
36040 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 ."bar"."sentence"."about"."bar")
36060 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 0a 20 20 ...........(-replace.1.2.nil)...
36080 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ................nil...--.Functio
360a0 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 n:.-replace-first.(old.new.list)
360c0 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e ......Replace.the.first.occurren
360e0 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 ce.of.OLD.with.NEW.in.LIST......
36100 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 ..Elements.are.compared.using...
36120 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d .equal...........See.also:....-m
36140 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 66 69 72 73 74 3a 3a 29 ap-first....(*note.-map-first::)
36160 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 ............(-replace-first.1."1
36180 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ".'(1.2.3.4.3.2.1)).............
361a0 20 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 ......("1".2.3.4.3.2.1).........
361c0 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 ..(-replace-first."foo"."bar".'(
361e0 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f "a"."nice"."foo"."sentence"."abo
36200 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 ut"."foo"))...................("
36220 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 a"."nice"."bar"."sentence"."abou
36240 74 22 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 t"."foo")...........(-replace-fi
36260 72 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e rst.1.2.nil)...................n
36280 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 il...--.Function:.-replace-last.
362a0 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 (old.new.list)......Replace.the.
362c0 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 last.occurrence.of.OLD.with.NEW.
362e0 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 in.LIST........Elements.are.comp
36300 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 ared.using....equal...........Se
36320 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d e.also:....-map-last....(*note.-
36340 6d 61 70 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 map-last::)............(-replace
36360 2d 6c 61 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 -last.1."1".'(1.2.3.4.3.2.1))...
36380 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 ................(1.2.3.4.3.2."1"
363a0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 66 6f 6f 22 )...........(-replace-last."foo"
363c0 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 ."bar".'("a"."nice"."foo"."sente
363e0 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 nce"."about"."foo"))............
36400 20 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e .......("a"."nice"."foo"."senten
36420 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 ce"."about"."bar")...........(-r
36440 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 eplace-last.1.2.nil)............
36460 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 73 65 72 .......nil...--.Function:.-inser
36480 74 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 t-at.(n.x.list)......Return.a.li
364a0 73 74 20 77 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 st.with.X.inserted.into.LIST.at.
364c0 70 6f 73 69 74 69 6f 6e 20 4e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d position.N........See.also:....-
364e0 73 70 6c 69 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c 20 e2 80 98 splice....(*note.-splice::),....
36500 2d 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 73 70 6c -splice-list....(*note......-spl
36520 69 63 65 2d 6c 69 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d ice-list::)............(-insert-
36540 61 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 at.1.'x.'(a.b.c))...............
36560 e2 87 92 20 28 61 20 78 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 ....(a.x.b.c)...........(-insert
36580 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -at.12.'x.'(a.b.c)).............
365a0 20 20 e2 87 92 20 28 61 20 62 20 63 20 78 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d ......(a.b.c.x)...--.Function:.-
365c0 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 replace-at.(n.x.list)......Retur
365e0 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 n.a.list.with.element.at.Nth.pos
36600 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 58 2e 0a 0a ition.in.LIST.replaced.with.X...
36620 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 e2 80 99 20 28 2a .....See.also:....-replace....(*
36640 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 note.-replace::)............(-re
36660 70 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 place-at.0.9.'(0.1.2.3.4.5))....
36680 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 ...............(9.1.2.3.4.5)....
366a0 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 20 .......(-replace-at.1.9.'(0.1.2.
366c0 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 32 3.4.5))...................(0.9.2
366e0 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 .3.4.5)...........(-replace-at.4
36700 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .9.'(0.1.2.3.4.5))..............
36720 20 e2 87 92 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .....(0.1.2.3.9.5)...--.Function
36740 3a 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 0a 20 20 20 20 20 :.-update-at.(n.func.list)......
36760 55 73 65 20 46 55 4e 43 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 Use.FUNC.to.update.the.Nth.eleme
36780 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 nt.of.LIST...Return.a.copy.of.LI
367a0 53 54 0a 20 20 20 20 20 77 68 65 72 65 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 20 69 73 ST......where.the.Nth.element.is
367c0 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c .replaced.with.the.result.of.cal
367e0 6c 69 6e 67 20 46 55 4e 43 0a 20 20 20 20 20 6f 6e 20 69 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 ling.FUNC......on.it........See.
36800 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 also:....-map-when....(*note.-ma
36820 70 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 64 61 74 65 2d 61 74 p-when::)............(-update-at
36840 20 30 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 39 29 29 20 27 28 30 20 31 20 32 20 .0.(lambda.(x).(+.x.9)).'(0.1.2.
36860 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 39 20 31 20 32 3.4.5))...................(9.1.2
36880 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 64 61 74 65 2d 61 74 20 31 20 .3.4.5)...........(-update-at.1.
368a0 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 28 30 20 31 20 32 20 33 20 34 (lambda.(x).(+.x.8)).'(0.1.2.3.4
368c0 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 32 20 33 20 .5))...................(0.9.2.3.
368e0 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 4.5)...........(--update-at.2.(l
36900 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 ength.it).'("foo"."bar"."baz"."q
36920 75 75 78 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 66 6f 6f 22 20 uux"))...................("foo".
36940 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d "bar".3."quux")...--.Function:.-
36960 72 65 6d 6f 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 4c remove-at.(n.list)......Return.L
36980 49 53 54 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 4e 20 IST.with.its.element.at.index.N.
369a0 72 65 6d 6f 76 65 64 2e 20 20 54 68 61 74 20 69 73 2c 20 72 65 6d 6f 76 65 0a 20 20 20 20 20 61 removed...That.is,.remove......a
369c0 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 20 61 73 20 28 6e 74 68 20 4e 20 4c 49 ny.element.selected.as.(nth.N.LI
369e0 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 ST).from.LIST.and.return.the....
36a00 20 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 ..result........This.is.a.non-de
36a20 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 73 20 6f 66 20 4c 49 structive.operation:.parts.of.LI
36a40 53 54 20 28 62 75 74 20 6e 6f 74 0a 20 20 20 20 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 6c 6c ST.(but.not......necessarily.all
36a60 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 .of.it).are.copied.as.needed.to.
36a80 61 76 6f 69 64 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 0a 20 20 20 20 20 6d 6f 64 69 66 79 69 avoid.destructively......modifyi
36aa0 6e 67 20 69 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f 76 ng.it........See.also:....-remov
36ac0 65 2d 61 74 2d 69 6e 64 69 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 61 e-at-indices....(*note.-remove-a
36ae0 74 2d 69 6e 64 69 63 65 73 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 t-indices::),.........-remove...
36b00 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 .(*note.-remove::).............(
36b20 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 -remove-at.0.'(a.b.c))..........
36b40 20 20 20 20 20 e2 87 92 20 28 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 .........(b.c)...........(-remov
36b60 65 2d 61 74 20 31 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 e-at.1.'(a.b.c))................
36b80 87 92 20 28 61 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 ...(a.c)...........(-remove-at.2
36ba0 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 61 20 .'(a.b.c))...................(a.
36bc0 62 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 b)...--.Function:.-remove-at-ind
36be0 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 ices.(indices.list)......Return.
36c00 4c 49 53 54 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 49 4e 44 49 43 45 LIST.with.its.elements.at.INDICE
36c20 53 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 61 74 20 69 73 2c 20 66 6f 72 0a 20 20 20 20 20 65 61 S.removed...That.is,.for......ea
36c40 63 68 20 69 6e 64 65 78 20 49 20 69 6e 20 49 4e 44 49 43 45 53 2c 20 72 65 6d 6f 76 65 20 61 6e ch.index.I.in.INDICES,.remove.an
36c60 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 20 61 73 20 28 6e 74 68 20 49 0a 20 20 20 y.element.selected.as.(nth.I....
36c80 20 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 ..LIST).from.LIST........This.is
36ca0 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 .a.non-destructive.operation:.pa
36cc0 72 74 73 20 6f 66 20 4c 49 53 54 20 28 62 75 74 20 6e 6f 74 0a 20 20 20 20 20 6e 65 63 65 73 73 rts.of.LIST.(but.not......necess
36ce0 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e arily.all.of.it).are.copied.as.n
36d00 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 0a 20 20 20 eeded.to.avoid.destructively....
36d20 20 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 ..modifying.it........See.also:.
36d40 e2 80 98 2d 72 65 6d 6f 76 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d ...-remove-at....(*note.-remove-
36d60 61 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 at::),....-remove....(*note.....
36d80 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 .-remove::).............(-remove
36da0 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 0a 20 -at-indices.'(0).'(a.b.c.d.e))..
36dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 20 63 20 64 20 65 29 0a 20 20 20 20 20 .................(b.c.d.e)......
36de0 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 31 20 33 29 20 .....(-remove-at-indices.'(1.3).
36e00 27 28 61 20 62 20 63 20 64 20 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 '(a.b.c.d.e))...................
36e20 28 61 20 63 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e (a.c.e)...........(-remove-at-in
36e40 64 69 63 65 73 20 27 28 34 20 30 20 32 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 0a 20 20 20 dices.'(4.0.2).'(a.b.c.d.e))....
36e60 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 20 64 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f ...............(b.d)....File:.do
36e80 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c cpgQ07Y.info,..Node:.Reductions,
36ea0 20 20 4e 65 78 74 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 4c 69 73 74 20 74 ..Next:.Unfolding,..Prev:.List.t
36ec0 6f 20 6c 69 73 74 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 34 20 52 65 64 75 o.list,..Up:.Functions..2.4.Redu
36ee0 63 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 ctions.==============..Functions
36f00 20 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 .reducing.lists.to.a.single.valu
36f20 65 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a 0a 20 e.(which.may.also.be.a.list)....
36f40 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e --.Function:.-reduce-from.(fn.in
36f60 69 74 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f it.list)......Reduce.the.functio
36f80 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 n.FN.across.LIST,.starting.with.
36fa0 49 4e 49 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 INIT...Return.the......result.of
36fc0 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 20 74 68 65 20 66 69 72 .applying.FN.to.INIT.and.the.fir
36fe0 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 0a 20 20 20 20 20 61 70 st.element.of.LIST,.then......ap
37000 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 plying.FN.to.that.result.and.the
37020 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 66 20 4c 49 53 54 20 69 .second.element,.etc...If.LIST.i
37040 73 0a 20 20 20 20 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 s......empty,.return.INIT.withou
37060 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f t.calling.FN........This.functio
37080 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 n...s.anaphoric.counterpart.is..
370a0 80 98 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 ..--reduce-from...........For.ot
370c0 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 her.folds,.see.also....-reduce..
370e0 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 ..(*note.-reduce::).and.........
37100 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 -reduce-r....(*note.-reduce-r::)
37120 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 .............(-reduce-from.#'-.1
37140 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0.'(1.2.3))...................4.
37160 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 ..........(-reduce-from.#'list.1
37180 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 0.'(1.2.3))...................((
371a0 28 31 30 20 31 29 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 (10.1).2).3)...........(--reduce
371c0 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 63 20 22 20 22 20 69 74 29 20 22 53 54 41 52 54 -from.(concat.acc.".".it)."START
371e0 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".'("a"."b"."c"))...............
37200 e2 87 92 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ...."START.a.b.c"...--.Function:
37220 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 .-reduce-r-from.(fn.init.list)..
37240 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 ....Reduce.the.function.FN.acros
37260 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 s.LIST.in.reverse,.starting.with
37280 20 49 4e 49 54 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 .INIT.......Return.the.result.of
372a0 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 .applying.FN.to.the.last.element
372c0 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 20 20 20 20 20 49 4e 49 54 2c 20 74 68 65 6e 20 61 70 70 .of.LIST.and......INIT,.then.app
372e0 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 74 20 65 lying.FN.to.the.second-to-last.e
37300 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 72 65 73 lement.and.the......previous.res
37320 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 ult.of.FN,.etc...That.is,.the.fi
37340 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 20 20 20 20 20 74 68 65 20 63 rst.argument.of.FN.is......the.c
37360 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 urrent.element,.and.its.second.a
37380 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 76 61 6c 75 65 2e 0a 20 rgument.the.accumulated.value...
373a0 20 20 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 ....If.LIST.is.empty,.return.INI
373c0 54 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 T.without.calling.FN........This
373e0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f .function.is.like....-reduce-fro
37400 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 62 75 74 20 m....(*note.-reduce-from::).but.
37420 74 68 65 0a 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 20 66 72 the......operation.associates.fr
37440 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 om.the.right.rather.than.left...
37460 49 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 In.other......words,.it.starts.f
37480 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 rom.the.end.of.LIST.and.flips.th
374a0 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 20 20 20 20 20 46 4e 2e 20 20 43 6f 6e 63 65 70 74 e.arguments.to......FN...Concept
374c0 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 ually,.it.is.like.replacing.the.
374e0 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 0a 20 20 20 20 20 61 70 70 6c 69 63 61 conses.in.LIST.with......applica
37500 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 tions.of.FN,.and.its.last.link.w
37520 69 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 0a 20 20 20 ith.INIT,.and.evaluating.the....
37540 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 ..resulting.expression........Th
37560 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 is.function...s.anaphoric.counte
37580 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 2e 0a rpart.is....--reduce-r-from.....
375a0 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 ......For.other.folds,.see.also.
375c0 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 ...-reduce-r....(*note.-reduce-r
375e0 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 ::).and.........-reduce....(*not
37600 65 20 2d 72 65 64 75 63 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 e.-reduce::).............(-reduc
37620 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 e-r-from.#'-.10.'(1.2.3)).......
37640 20 20 20 20 20 20 20 20 e2 87 92 20 2d 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 ............-8...........(-reduc
37660 65 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 e-r-from.#'list.10.'(1.2.3))....
37680 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 28 33 20 31 30 29 29 29 0a 20 20 ...............(1.(2.(3.10)))...
376a0 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 ........(--reduce-r-from.(concat
376c0 20 69 74 20 22 20 22 20 61 63 63 29 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 .it.".".acc)."END".'("a"."b"."c"
376e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 20 62 20 63 20 45 4e 44 22 ))..................."a.b.c.END"
37700 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 ...--.Function:.-reduce.(fn.list
37720 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 )......Reduce.the.function.FN.ac
37740 72 6f 73 73 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 ross.LIST...Return.the.result.of
37760 20 61 70 70 6c 79 69 6e 67 0a 20 20 20 20 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 .applying......FN.to.the.first.t
37780 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 wo.elements.of.LIST,.then.applyi
377a0 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 ng.FN.to.that......result.and.th
377c0 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 66 20 4c 49 53 54 20 63 e.third.element,.etc...If.LIST.c
377e0 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2c 20 72 ontains.a.single......element,.r
37800 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 20 49 66 eturn.it.without.calling.FN...If
37820 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 74 68 65 20 .LIST.is.empty,.return......the.
37840 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f 20 61 72 67 result.of.calling.FN.with.no.arg
37860 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 uments........This.function...s.
37880 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 anaphoric.counterpart.is....--re
378a0 64 75 63 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 duce...........For.other.folds,.
378c0 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f see.also....-reduce-from....(*no
378e0 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d te.-reduce-from::).and.........-
37900 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 2e reduce-r....(*note.-reduce-r::).
37920 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 ............(-reduce.#'-.'(1.2.3
37940 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 38 0a 20 20 20 20 20 20 .4))...................-8.......
37960 20 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a ....(-reduce.#'list.'(1.2.3.4)).
37980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a ..................(((1.2).3).4).
379a0 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2d ..........(--reduce.(format."%s-
379c0 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 %d".acc.it).'(1.2.3))...........
379e0 20 20 20 20 e2 87 92 20 22 31 2d 32 2d 33 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d ........"1-2-3"...--.Function:.-
37a00 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 reduce-r.(fn.list)......Reduce.t
37a20 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 he.function.FN.across.LIST.in.re
37a40 76 65 72 73 65 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 6f verse...Return.the.result......o
37a60 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c f.applying.FN.to.the.last.two.el
37a80 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e ements.of.LIST,.then.applying.FN
37aa0 0a 20 20 20 20 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 ......to.the.third-to-last.eleme
37ac0 6e 74 20 61 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 46 4e nt.and.the.previous.result.of.FN
37ae0 2c 20 65 74 63 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 ,.etc.......That.is,.the.first.a
37b00 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 rgument.of.FN.is.the.current.ele
37b20 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 ment,.and.its......second.argume
37b40 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 76 61 6c 75 65 2e 20 20 49 66 20 4c 49 nt.the.accumulated.value...If.LI
37b60 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e ST.contains.a.single......elemen
37b80 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e t,.return.it.without.calling.FN.
37ba0 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 ..If.LIST.is.empty,.return......
37bc0 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f the.result.of.calling.FN.with.no
37be0 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .arguments........This.function.
37c00 69 73 20 6c 69 6b 65 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 is.like....-reduce....(*note.-re
37c20 64 75 63 65 3a 3a 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 61 duce::).but.the.operation......a
37c40 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 ssociates.from.the.right.rather.
37c60 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 0a 20 than.left...In.other.words,.it..
37c80 20 20 20 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 53 54 20 ....starts.from.the.end.of.LIST.
37ca0 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 4e 2e 0a 20 and.flips.the.arguments.to.FN...
37cc0 20 20 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 6c 69 6b 65 20 72 65 70 ....Conceptually,.it.is.like.rep
37ce0 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 0a 20 lacing.the.conses.in.LIST.with..
37d00 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 69 67 6e 6f 72 69 6e 67 ....applications.of.FN,.ignoring
37d20 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 .its.last.link,.and.evaluating.t
37d40 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 20 he......resulting.expression....
37d60 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 ....This.function...s.anaphoric.
37d80 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 72 e2 80 99 2e counterpart.is....--reduce-r....
37da0 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f .......For.other.folds,.see.also
37dc0 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 ....-reduce-r-from....(*note.-re
37de0 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 0a 20 20 20 20 20 61 6e 64 20 e2 80 98 2d 72 65 64 75 duce-r-from::)......and....-redu
37e00 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 ce....(*note.-reduce::).........
37e20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 ....(-reduce-r.#'-.'(1.2.3.4))..
37e40 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d .................-2...........(-
37e60 72 65 64 75 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 reduce-r.#'list.'(1.2.3.4)).....
37e80 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 20 20 20 20 ..............(1.(2.(3.4))).....
37ea0 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 ......(--reduce-r.(format."%s-%d
37ec0 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ".acc.it).'(1.2.3)).............
37ee0 20 20 e2 87 92 20 22 33 2d 32 2d 31 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 ......"3-2-1"...--.Function:.-re
37f00 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 20 ductions-from.(fn.init.list)....
37f20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 72 6d ..Return.a.list.of.FN...s.interm
37f40 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 20 20 ediate.reductions.across.LIST...
37f60 54 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 That......is,.a.list.of.the.inte
37f80 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 rmediate.values.of.the.accumulat
37fa0 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 or.when.........-reduce-from....
37fc0 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 28 77 68 69 63 68 20 73 65 (*note.-reduce-from::).(which.se
37fe0 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 e).is.called.with......the.same.
38000 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 arguments........This.function..
38020 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d .s.anaphoric.counterpart.is....-
38040 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f -reductions-from...........For.o
38060 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 69 ther.folds,.see.also....-reducti
38080 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 20 61 6e 64 ons....(*note.-reductions::).and
380a0 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 .........-reductions-r....(*note
380c0 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d .-reductions-r::).............(-
380e0 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 reductions-from.#'max.0.'(2.1.4.
38100 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 32 20 32 20 34 20 34 3))...................(0.2.2.4.4
38120 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 )...........(-reductions-from.#'
38140 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 *.1.'(1.2.3.4)).................
38160 92 20 28 31 20 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 ..(1.1.2.6.24)...........(--redu
38180 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 20 25 64 29 22 ctions-from.(format."(FN.%s.%d)"
381a0 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 .acc.it)."INIT".'(1.2.3)).......
381c0 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 29 ............("INIT"."(FN.INIT.1)
381e0 22 20 22 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 "."(FN.(FN.INIT.1).2)"."(FN.(FN.
38200 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f (FN.INIT.1).2).3)")...--.Functio
38220 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c n:.-reductions-r-from.(fn.init.l
38240 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 ist)......Return.a.list.of.FN...
38260 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 s.intermediate.reductions.across
38280 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 61 20 .reversed.LIST.......That.is,.a.
382a0 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 list.of.the.intermediate.values.
382c0 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 of.the.accumulator.when.........
382e0 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 -reduce-r-from....(*note.-reduce
38300 2d 72 2d 66 72 6f 6d 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 -r-from::).(which.see).is.called
38320 0a 20 20 20 20 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a ......with.the.same.arguments...
38340 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 .....This.function...s.anaphoric
38360 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d .counterpart.is....--reductions-
38380 72 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 r-from...........For.other.folds
383a0 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e ,.see.also....-reductions....(*n
383c0 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d ote.-reductions::).and.........-
383e0 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f reductions-r....(*note.-reductio
38400 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 ns-r::).............(-reductions
38420 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 33 29 29 0a 20 20 20 20 -r-from.#'max.0.'(2.1.4.3)).....
38440 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 34 20 34 20 33 20 30 29 0a 20 20 20 20 20 20 ..............(4.4.4.3.0).......
38460 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 2a 20 31 20 27 28 ....(-reductions-r-from.#'*.1.'(
38480 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 34 20 1.2.3.4))...................(24.
384a0 32 34 20 31 32 20 34 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 24.12.4.1)...........(--reductio
384c0 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 ns-r-from.(format."(FN.%d.%s)".i
384e0 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 t.acc)."INIT".'(1.2.3)).........
38500 20 20 20 20 20 20 e2 87 92 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e ..........("(FN.1.(FN.2.(FN.3.IN
38520 49 54 29 29 29 22 20 22 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 22 20 22 28 46 4e IT)))"."(FN.2.(FN.3.INIT))"."(FN
38540 20 33 20 49 4e 49 54 29 22 20 22 49 4e 49 54 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a .3.INIT)"."INIT")...--.Function:
38560 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 .-reductions.(fn.list)......Retu
38580 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 rn.a.list.of.FN...s.intermediate
385a0 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 20 20 54 68 61 74 0a 20 .reductions.across.LIST...That..
385c0 20 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 ....is,.a.list.of.the.intermedia
385e0 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 te.values.of.the.accumulator.whe
38600 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 n.........-reduce....(*note.-red
38620 75 63 65 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 uce::).(which.see).is.called.wit
38640 68 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 h.the.same......arguments.......
38660 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 .This.function...s.anaphoric.cou
38680 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 2e 0a nterpart.is....--reductions.....
386a0 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 ......For.other.folds,.see.also.
386c0 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 ...-reductions....(*note.-reduct
386e0 69 6f 6e 73 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d ions::).and.........-reductions-
38700 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 r....(*note.-reductions-r::)....
38720 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b 20 27 28 31 20 32 20 .........(-reductions.#'+.'(1.2.
38740 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 36 20 31 3.4))...................(1.3.6.1
38760 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 0)...........(-reductions.#'*.'(
38780 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 1.2.3.4))...................(1.2
387a0 20 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 .6.24)...........(--reductions.(
387c0 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 format."(FN.%s.%d)".acc.it).'(1.
387e0 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 28 46 4e 20 2.3))...................(1."(FN.
38800 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 32 29 20 33 29 22 29 0a 0a 20 2d 2d 20 46 75 1.2)"."(FN.(FN.1.2).3)")...--.Fu
38820 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a nction:.-reductions-r.(fn.list).
38840 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 .....Return.a.list.of.FN...s.int
38860 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 ermediate.reductions.across.reve
38880 72 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 rsed.LIST.......That.is,.a.list.
388a0 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 of.the.intermediate.values.of.th
388c0 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 e.accumulator.when.........-redu
388e0 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 20 28 77 68 69 ce-r....(*note.-reduce-r::).(whi
38900 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a ch.see).is.called.with.the.same.
38920 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 .....arguments........This.funct
38940 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ion...s.anaphoric.counterpart.is
38960 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 ....--reductions-r...........For
38980 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 .other.folds,.see.also....-reduc
389a0 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 64 tions-r-from....(*note......-red
389c0 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 72 65 64 75 63 74 uctions-r-from::).and....-reduct
389e0 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 2e 0a 0a ions....(*note.-reductions::)...
38a00 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 ..........(-reductions-r.#'+.'(1
38a20 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 30 20 39 .2.3.4))...................(10.9
38a40 20 37 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 .7.4)...........(-reductions-r.#
38a60 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 '*.'(1.2.3.4))..................
38a80 20 28 32 34 20 32 34 20 31 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 .(24.24.12.4)...........(--reduc
38aa0 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 tions-r.(format."(FN.%d.%s)".it.
38ac0 61 63 63 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 acc).'(1.2.3))..................
38ae0 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 20 33 29 22 20 33 .("(FN.1.(FN.2.3))"."(FN.2.3)".3
38b00 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c 69 )...--.Function:.-count.(pred.li
38b20 73 74 29 0a 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 st)......Counts.the.number.of.it
38b40 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 69 74 65 6d 29 20 69 73 ems.in.LIST.where.(PRED.item).is
38b60 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 75 .non-...nil................(-cou
38b80 6e 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 nt.'even?.'(1.2.3.4.5)).........
38ba0 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 63 6f 75 6e 74 20 28 ..........2...........(--count.(
38bc0 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 <.it.4).'(1.2.3.4)).............
38be0 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 75 6d 20 28 6c 69 73 ......3...--.Function:.-sum.(lis
38c00 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 4c 49 53 54 2e 0a t)......Return.the.sum.of.LIST..
38c20 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ...........(-sum.())............
38c40 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 27 28 31 29 29 0a 20 .......0...........(-sum.'(1))..
38c60 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 .................1...........(-s
38c80 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 um.'(1.2.3.4))..................
38ca0 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 .10...--.Function:.-running-sum.
38cc0 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 (list)......Return.a.list.with.r
38ce0 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 4c unning.sums.of.items.in.LIST...L
38d00 49 53 54 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 20 20 IST.must.be......non-empty......
38d20 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 .......(-running-sum.'(1.2.3.4))
38d40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 36 20 31 30 29 0a 20 20 ...................(1.3.6.10)...
38d60 20 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 20 20 ........(-running-sum.'(1)).....
38d80 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 75 ..............(1)...........(-ru
38da0 6e 6e 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f nning-sum.())...............erro
38dc0 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c r....Wrong.type.argument:.consp,
38de0 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f 64 75 63 74 20 28 6c 69 .nil...--.Function:.-product.(li
38e00 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 20 4c st)......Return.the.product.of.L
38e20 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 IST.............(-product.())...
38e40 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 ................1...........(-pr
38e60 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a oduct.'(1))...................1.
38e80 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a ..........(-product.'(1.2.3.4)).
38ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 34 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ..................24...--.Functi
38ec0 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 20 20 on:.-running-product.(list).....
38ee0 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f 64 .Return.a.list.with.running.prod
38f00 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 4c 49 53 54 20 6d 75 73 ucts.of.items.in.LIST...LIST.mus
38f20 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 t.be......non-empty.............
38f40 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 (-running-product.'(1.2.3.4))...
38f60 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 ................(1.2.6.24)......
38f80 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 .....(-running-product.'(1))....
38fa0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 ...............(1)...........(-r
38fc0 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 unning-product.())..............
38fe0 20 65 72 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 .error....Wrong.type.argument:.c
39000 6f 6e 73 70 2c 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 69 74 73 20 onsp,.nil...--.Function:.-inits.
39020 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 (list)......Return.all.prefixes.
39040 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 28 31 20 of.LIST.............(-inits.'(1.
39060 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 2.3.4))...................(nil.(
39080 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 1).(1.2).(1.2.3).(1.2.3.4)).....
390a0 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(-inits.nil)..............
390c0 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 28 31 .....(nil)...........(-inits.'(1
390e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 29 29 0a 0a ))...................(nil.(1))..
39100 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 69 6c 73 20 28 6c 69 73 74 29 0a 20 20 20 20 .--.Function:.-tails.(list).....
39120 20 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 .Return.all.suffixes.of.LIST....
39140 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 .........(-tails.'(1.2.3.4))....
39160 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 ...............((1.2.3.4).(2.3.4
39180 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 ).(3.4).(4).nil)...........(-tai
391a0 6c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a ls.nil)...................(nil).
391c0 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 ..........(-tails.'(1)).........
391e0 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ..........((1).nil)...--.Functio
39200 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a n:.-common-prefix.(&rest.lists).
39220 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 .....Return.the.longest.common.p
39240 72 65 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d refix.of.LISTS.............(-com
39260 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 mon-prefix.'(1))................
39280 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 ...(1)...........(-common-prefix
392a0 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 .'(1.2).'(3.4).'(1.2))..........
392c0 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 70 .........()...........(-common-p
392e0 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 refix.'(1.2).'(1.2.3).'(1.2.3.4)
39300 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 46 )...................(1.2)...--.F
39320 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 6c unction:.-common-suffix.(&rest.l
39340 69 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f ists)......Return.the.longest.co
39360 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 mmon.suffix.of.LISTS............
39380 20 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 .(-common-suffix.'(1))..........
393a0 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d .........(1)...........(-common-
393c0 73 75 66 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 suffix.'(1.2).'(3.4).'(1.2))....
393e0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f ...............()...........(-co
39400 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 29 20 mmon-suffix.'(1.2.3.4).'(2.3.4).
39420 27 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 29 0a '(3.4))...................(3.4).
39440 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 20 20 20 20 20 ..--.Function:.-min.(list)......
39460 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 4c Return.the.smallest.value.from.L
39480 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 20 20 20 20 IST.of.numbers.or.markers.......
394a0 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(-min.'(0))...............
394c0 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 0a ....0...........(-min.'(3.2.1)).
394e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..................1...........(-
39500 6d 69 6e 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 min.'(1.2.3))...................
39520 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 1...--.Function:.-min-by.(compar
39540 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f ator.list)......Take.a.compariso
39560 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 n.function.COMPARATOR.and.a.LIST
39580 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 6c 65 61 73 74 20 65 6c 65 6d 65 .and.return.the......least.eleme
395a0 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e nt.of.the.list.by.the.comparison
395c0 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e .function........See.also.combin
395e0 61 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6f 6e 3a 3a 29 20 77 68 69 ator....-on....(*note.-on::).whi
39600 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 0a 20 20 20 20 20 76 61 6c 75 65 73 ch.can.transform.the......values
39620 20 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 20 20 20 20 20 20 20 .before.comparing.them..........
39640 20 20 20 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 20 ...(-min-by.'>.'(4.3.6.1))......
39660 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e 2d .............1...........(--min-
39680 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 27 28 28 31 by.(>.(car.it).(car.other)).'((1
396a0 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2.3).(2).(3.2)))...............
396c0 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e 2d 62 79 20 ....(1.2.3)...........(--min-by.
396e0 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 (>.(length.it).(length.other)).'
39700 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ((1.2.3).(2).(3.2)))............
39720 20 20 20 e2 87 92 20 28 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 20 28 .......(2)...--.Function:.-max.(
39740 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 list)......Return.the.largest.va
39760 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b lue.from.LIST.of.numbers.or.mark
39780 65 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 30 29 29 0a 20 20 20 20 ers.............(-max.'(0)).....
397a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 ..............0...........(-max.
397c0 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 '(3.2.1))...................3...
397e0 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 ........(-max.'(1.2.3)).........
39800 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 2d ..........3...--.Function:.-max-
39820 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 by.(comparator.list)......Take.a
39840 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 .comparison.function.COMPARATOR.
39860 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 67 and.a.LIST.and.return.the......g
39880 72 65 61 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 reatest.element.of.the.list.by.t
398a0 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 53 65 he.comparison.function........Se
398c0 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e 6f e.also.combinator....-on....(*no
398e0 74 65 20 2d 6f 6e 3a 3a 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 te.-on::).which.can.transform.th
39900 65 0a 20 20 20 20 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 74 e......values.before.comparing.t
39920 68 65 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 20 hem.............(-max-by.'>.'(4.
39940 33 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 36 0a 20 20 20 20 3.6.1))...................6.....
39960 20 20 20 20 20 20 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 ......(--max-by.(>.(car.it).(car
39980 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 .other)).'((1.2.3).(2).(3.2)))..
399a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 29 0a 20 20 20 20 20 20 20 20 20 .................(3.2)..........
399c0 20 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 .(--max-by.(>.(length.it).(lengt
399e0 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a h.other)).'((1.2.3).(2).(3.2))).
39a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 ..................(1.2.3)...--.F
39a20 75 6e 63 74 69 6f 6e 3a 20 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 6c 69 73 74 29 0a 20 20 20 unction:.-frequencies.(list)....
39a40 20 20 43 6f 75 6e 74 20 74 68 65 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 65 61 63 68 20 ..Count.the.occurrences.of.each.
39a60 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 distinct.element.of.LIST........
39a80 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 45 4c 45 4d 45 4e 54 20 2e 20 20 4e Return.an.alist.of.(ELEMENT....N
39aa0 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 45 4c 45 4d 45 4e 54 20 6f 63 63 75 72 73 20 4e 0a 20 ),.where.each.ELEMENT.occurs.N..
39ac0 20 20 20 20 74 69 6d 65 73 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 ....times.in.LIST........The.tes
39ae0 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 t.for.equality.is.done.with....e
39b00 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 qual...,.or.with....-compare-fn.
39b20 80 99 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 ........if.that.is.non-...nil...
39b40 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 63 6f 75 6e 74 e2 80 99 20 28 2a ........See.also....-count....(*
39b60 6e 6f 74 65 20 2d 63 6f 75 6e 74 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 67 72 6f 75 70 2d 62 79 e2 note.-count::).and....-group-by.
39b80 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 67 72 6f 75 70 2d 62 79 3a 3a 29 2e 0a 0a 20 20 ...(*note......-group-by::).....
39ba0 20 20 20 20 20 20 20 20 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 29 29 0a 20 20 20 20 20 20 ........(-frequencies.()).......
39bc0 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 72 65 71 75 ............()...........(-frequ
39be0 65 6e 63 69 65 73 20 27 28 31 20 32 20 33 20 31 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 encies.'(1.2.3.1.2.1))..........
39c00 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 32 29 20 28 33 20 2e 20 31 .........((1...3).(2...2).(3...1
39c20 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 ))...........(let.((-compare-fn.
39c40 23 27 73 74 72 69 6e 67 3d 29 29 20 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 27 28 61 20 22 61 #'string=)).(-frequencies.'(a."a
39c60 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 2e 20 32 29 29 ")))...................((a...2))
39c80 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.docpgQ07Y.info,..Node:
39ca0 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 4e 65 78 74 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 .Unfolding,..Next:.Predicates,..
39cc0 50 72 65 76 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 Prev:.Reductions,..Up:.Functions
39ce0 0a 0a 32 2e 35 20 55 6e 66 6f 6c 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f ..2.5.Unfolding.=============..O
39d00 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 perations.dual.to.reductions,.bu
39d20 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 72 ilding.lists.from.a.seed.value.r
39d40 61 74 68 65 72 0a 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 ather.than.consuming.a.list.to.p
39d60 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 roduce.a.single.value....--.Func
39d80 74 69 6f 6e 3a 20 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 20 20 tion:.-iterate.(fun.init.n).....
39da0 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 .Return.a.list.of.iterated.appli
39dc0 63 61 74 69 6f 6e 73 20 6f 66 20 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 20 20 20 20 20 54 68 cations.of.FUN.to.INIT........Th
39de0 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 is.means.a.list.of.the.form:....
39e00 20 20 20 28 49 4e 49 54 20 28 46 55 4e 20 49 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e ...(INIT.(FUN.INIT).(FUN.(FUN.IN
39e20 49 54 29 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 4e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 IT))....).......N.is.the.length.
39e40 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 of.the.returned.list............
39e60 20 28 2d 69 74 65 72 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 .(-iterate.#'1+.1.10)...........
39e80 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 20 ........(1.2.3.4.5.6.7.8.9.10)..
39ea0 20 20 20 20 20 20 20 20 20 28 2d 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 .........(-iterate.(lambda.(x).(
39ec0 2b 20 78 20 78 29 29 20 32 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 +.x.x)).2.5)...................(
39ee0 32 20 34 20 38 20 31 36 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 74 65 72 61 74 2.4.8.16.32)...........(--iterat
39f00 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 e.(*.it.it).2.5)................
39f20 87 92 20 28 32 20 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ...(2.4.16.256.65536)...--.Funct
39f40 69 6f 6e 3a 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 20 20 20 42 75 69 ion:.-unfold.(fun.seed)......Bui
39f60 6c 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a ld.a.list.from.SEED.using.FUN...
39f80 20 20 20 20 20 54 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f .....This.is."dual".operation.to
39fa0 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d ....-reduce-r....(*note.-reduce-
39fc0 72 3a 3a 29 3a 20 77 68 69 6c 65 0a 20 20 20 20 20 2d 72 65 64 75 63 65 2d 72 20 63 6f 6e 73 75 r::):.while......-reduce-r.consu
39fe0 6d 65 73 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 mes.a.list.to.produce.a.single.v
3a000 61 6c 75 65 2c 20 e2 80 98 2d 75 6e 66 6f 6c 64 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 alue,....-unfold.........(*note.
3a020 2d 75 6e 66 6f 6c 64 3a 3a 29 20 74 61 6b 65 73 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 61 6e -unfold::).takes.a.seed.value.an
3a040 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 0a 20 20 20 20 20 69 6e 66 d.builds.a.(potentially......inf
3a060 69 6e 69 74 65 21 29 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 46 55 4e 20 73 68 6f 75 6c 64 20 inite!)..list........FUN.should.
3a080 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e return....nil....to.stop.the.gen
3a0a0 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 20 63 6f 6e 73 0a 20 20 20 20 20 erating.process,.or.a.cons......
3a0c0 28 41 20 2e 20 20 42 29 2c 20 77 68 65 72 65 20 41 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e (A....B),.where.A.will.be.prepen
3a0e0 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 42 20 69 73 20 74 68 65 20 6e ded.to.the.result.and.B.is.the.n
3a100 65 77 0a 20 20 20 20 20 73 65 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 66 6f 6c ew......seed.............(-unfol
3a120 64 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 d.(lambda.(x).(unless.(=.x.0).(c
3a140 6f 6e 73 20 78 20 28 31 2d 20 78 29 29 29 29 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ons.x.(1-.x)))).10).............
3a160 20 20 e2 87 92 20 28 31 30 20 39 20 38 20 37 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 20 20 20 ......(10.9.8.7.6.5.4.3.2.1)....
3a180 20 20 20 20 20 20 20 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 .......(--unfold.(when.it.(cons.
3a1a0 69 74 20 28 63 64 72 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 it.(cdr.it))).'(1.2.3.4)).......
3a1c0 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 ............((1.2.3.4).(2.3.4).(
3a1e0 33 20 34 29 20 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 3.4).(4))...........(--unfold.(w
3a200 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 hen.it.(cons.it.(butlast.it))).'
3a220 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 (1.2.3.4))...................((1
3a240 20 32 20 33 20 34 29 20 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 0a 20 2d 2d 20 .2.3.4).(1.2.3).(1.2).(1))...--.
3a260 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 20 20 20 52 65 74 Function:.-repeat.(n.x)......Ret
3a280 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 77 69 74 68 20 urn.a.new.list.of.length.N.with.
3a2a0 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 58 2e 20 20 52 65 74 75 72 6e 0a 20 20 each.element.being.X...Return...
3a2c0 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 ......nil....if.N.is.less.than.1
3a2e0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 0a 20 20 20 20 .............(-repeat.3.:a).....
3a300 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3a 61 20 3a 61 20 3a 61 29 0a 20 20 20 20 20 20 20 ..............(:a.:a.:a)........
3a320 20 20 20 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(-repeat.1.:a)...............
3a340 e2 87 92 20 28 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 30 20 3a 61 ....(:a)...........(-repeat.0.:a
3a360 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 )...................()...--.Func
3a380 74 69 6f 6e 3a 20 2d 63 79 63 6c 65 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 tion:.-cycle.(list)......Return.
3a3a0 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 4c 49 53 an.infinite.circular.copy.of.LIS
3a3c0 54 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 0a 20 20 20 T...The.returned.list.cycles....
3a3e0 20 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 ..through.the.elements.of.LIST.a
3a400 6e 64 20 72 65 70 65 61 74 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a nd.repeats.from.the.beginning...
3a420 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 ..........(-take.5.(-cycle.'(1.2
3a440 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 .3)))...................(1.2.3.1
3a460 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 .2)...........(-take.7.(-cycle.'
3a480 28 31 20 22 61 6e 64 22 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 (1."and".3)))...................
3a4a0 28 31 20 22 61 6e 64 22 20 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 (1."and".3.1."and".3.1).........
3a4c0 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 28 2d 63 79 63 6c 65 20 27 28 33 29 29 20 27 28 31 20 ..(-zip-lists.(-cycle.'(3)).'(1.
3a4e0 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 20 31 29 20 28 33 20 2))...................((3.1).(3.
3a500 32 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 2))....File:.docpgQ07Y.info,..No
3a520 64 65 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 4e 65 78 74 3a 20 50 61 72 74 69 74 69 6f 6e de:.Predicates,..Next:.Partition
3a540 69 6e 67 2c 20 20 50 72 65 76 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 ing,..Prev:.Unfolding,..Up:.Func
3a560 74 69 6f 6e 73 0a 0a 32 2e 36 20 50 72 65 64 69 63 61 74 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tions..2.6.Predicates.==========
3a580 3d 3d 3d 3d 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 ====..Reductions.of.one.or.more.
3a5a0 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 lists.to.a.boolean.value....--.F
3a5c0 75 6e 63 74 69 6f 6e 3a 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 unction:.-some.(pred.list)......
3a5e0 52 65 74 75 72 6e 20 28 50 52 45 44 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 4c 49 Return.(PRED.x).for.the.first.LI
3a600 53 54 20 69 74 65 6d 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 0a 20 20 20 20 20 6e ST.item.where.(PRED.x).is......n
3a620 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 on-...nil...,.else....nil.......
3a640 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6e 79 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 ....Alias:....-any...........Thi
3a660 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 s.function...s.anaphoric.counter
3a680 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 73 6f 6d 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 part.is....--some...............
3a6a0 20 28 2d 73 6f 6d 65 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 0a 20 20 .(-some.#'stringp.'(1."2".3))...
3a6c0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 ................t...........(--s
3a6e0 6f 6d 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 66 ome.(string-match-p."x".it).'("f
3a700 6f 6f 22 20 22 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oo"."axe"."xor"))...............
3a720 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e ....1...........(--some.(=.it-in
3a740 64 65 78 20 33 29 20 27 28 30 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 dex.3).'(0.1.2))................
3a760 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 76 65 72 79 20 28 70 72 ...nil...--.Function:.-every.(pr
3a780 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 ed.list)......Return.non-...nil.
3a7a0 80 99 20 69 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 ...if.PRED.returns.non-...nil...
3a7c0 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 20 20 20 20 20 49 66 20 .for.all.items.in.LIST.......If.
3a7e0 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 so,.return.the.last.such.result.
3a800 6f 66 20 50 52 45 44 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 20 20 20 of.PRED...Otherwise,.once.an....
3a820 20 20 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 ..item.is.reached.for.which.PRED
3a840 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 72 65 74 75 72 6e 20 e2 80 98 6e 69 .returns....nil...,.return....ni
3a860 6c e2 80 99 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f l....without......calling.PRED.o
3a880 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 20 20 n.any.further.LIST.elements.....
3a8a0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 65 76 65 ...This.function.is.like....-eve
3a8c0 72 79 2d 70 e2 80 99 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 ry-p...,.but.on.success.returns.
3a8e0 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 the.last......non-...nil....resu
3a900 6c 74 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 e2 80 98 74 e2 lt.of.PRED.instead.of.just....t.
3a920 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 ..........This.function...s.anap
3a940 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 76 65 72 79 e2 horic.counterpart.is....--every.
3a960 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 ...............(-every.#'numberp
3a980 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 .'(1.2.3))...................t..
3a9a0 20 20 20 20 20 20 20 20 20 28 2d 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d .........(--every.(string-match-
3a9c0 70 20 22 78 22 20 69 74 29 20 27 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 20 20 p."x".it).'("axe"."xor")).......
3a9e0 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 76 65 72 79 ............0...........(--every
3aa00 20 28 3d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 0a 20 20 20 20 20 .(=.it.it-index).'(0.1.3))......
3aa20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .............nil...--.Function:.
3aa40 2d 61 6e 79 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 -any?.(pred.list)......Return...
3aa60 98 74 e2 80 99 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 .t....if.(PRED.X).is.non-...nil.
3aa80 80 99 20 66 6f 72 20 61 6e 79 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 e2 80 98 6e 69 ...for.any.X.in.LIST,.else....ni
3aaa0 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6e 79 2d 70 e2 80 99 2c l...........Alias:....-any-p...,
3aac0 20 e2 80 98 2d 73 6f 6d 65 3f e2 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 2d 70 e2 80 99 0a 0a 20 20 ....-some?...,....-some-p.......
3aae0 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 30 ........(-any?.#'numberp.'(nil.0
3ab00 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 .t))...................t........
3ab20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 74 20 74 29 29 0a ...(-any?.#'numberp.'(nil.t.t)).
3ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 ..................nil...........
3ab60 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 (-any?.#'null.'(1.3.5)).........
3ab80 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6c ..........nil...--.Function:.-al
3aba0 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 l?.(pred.list)......Return....t.
3abc0 80 99 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 ...if.(PRED.X).is.non-...nil....
3abe0 66 6f 72 20 61 6c 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 for.all.X.in.LIST,.else....nil..
3ac00 99 2e 0a 20 20 20 20 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 6f 70 ........In.the.latter.case,.stop
3ac20 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 58 20 66 6f 72 20 77 68 69 63 68 20 28 50 52 .after.the.first.X.for.which.(PR
3ac40 45 44 20 58 29 20 69 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 77 69 74 68 6f 75 74 ED.X).is.........nil...,.without
3ac60 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 .calling.PRED.on.any.subsequent.
3ac80 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 69 6d 69 elements.of.LIST........The.simi
3aca0 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 2d 65 76 65 72 79 e2 80 99 20 28 2a 6e 6f 74 65 lar.function....-every....(*note
3acc0 20 2d 65 76 65 72 79 3a 3a 29 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 0a 20 20 20 20 20 75 .-every::).is.more.widely......u
3ace0 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 seful,.since.it.returns.the.last
3ad00 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 6e .non-...nil....result.of.PRED.in
3ad20 73 74 65 61 64 0a 20 20 20 20 20 6f 66 20 6a 75 73 74 20 e2 80 98 74 e2 80 99 20 6f 6e 20 73 75 stead......of.just....t....on.su
3ad40 63 63 65 73 73 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6c 6c 2d 70 e2 80 99 ccess........Alias:....-all-p...
3ad60 2c 20 e2 80 98 2d 65 76 65 72 79 2d 70 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 3f e2 80 99 2e ,....-every-p...,....-every?....
3ad80 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 .......This.function...s.anaphor
3ada0 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 61 6c 6c 3f e2 80 99 2e 0a ic.counterpart.is....--all?.....
3adc0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 ...........(-all?.#'numberp.'(1.
3ade0 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 2.3))...................t.......
3ae00 20 20 20 20 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 29 0a 20 ....(-all?.#'numberp.'(2.t.6))..
3ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 .................nil...........(
3ae40 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 20 34 20 36 29 29 0a --all?.(=.0.(%.it.2)).'(2.4.6)).
3ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ..................t...--.Functio
3ae80 6e 3a 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 n:.-none?.(pred.list)......Retur
3aea0 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 e2 80 98 6e 69 6c e2 n....t....if.(PRED.X).is....nil.
3aec0 80 99 20 66 6f 72 20 61 6c 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 e2 80 98 6e 69 ...for.all.X.in.LIST,.else....ni
3aee0 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 6e 6f 6e 65 2d 70 e2 80 99 l...........Alias:....-none-p...
3af00 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 ............(-none?.'even?.'(1.2
3af20 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 .3))...................nil......
3af40 20 20 20 20 20 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 .....(-none?.'even?.'(1.3.5))...
3af60 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6e ................t...........(--n
3af80 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 one?.(=.0.(%.it.2)).'(1.2.3))...
3afa0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ................nil...--.Functio
3afc0 6e 3a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 n:.-only-some?.(pred.list)......
3afe0 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 64 69 66 66 65 72 65 6e 74 20 4c 49 53 54 Return....t....if.different.LIST
3b000 20 69 74 65 6d 73 20 62 6f 74 68 20 73 61 74 69 73 66 79 20 61 6e 64 20 64 6f 20 6e 6f 74 20 73 .items.both.satisfy.and.do.not.s
3b020 61 74 69 73 66 79 0a 20 20 20 20 20 50 52 45 44 2e 20 20 54 68 61 74 20 69 73 2c 20 69 66 20 50 atisfy......PRED...That.is,.if.P
3b040 52 45 44 20 72 65 74 75 72 6e 73 20 62 6f 74 68 20 e2 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 RED.returns.both....nil....for.a
3b060 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 2c 0a 20 20 20 20 20 61 6e 64 20 6e 6f 6e 2d e2 t.least.one.item,......and.non-.
3b080 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 ..nil....for.at.least.one.other.
3b0a0 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 item.in.LIST...Return....nil....
3b0c0 69 66 0a 20 20 20 20 20 61 6c 6c 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 74 68 65 20 70 72 if......all.items.satisfy.the.pr
3b0e0 65 64 69 63 61 74 65 20 6f 72 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 64 6f 2e 0a 0a 20 20 20 edicate.or.none.of.them.do......
3b100 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 e2 80 99 0a 0a 20 20 20 ..Alias:....-only-some-p........
3b120 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 .......(-only-some?.'even?.'(1.2
3b140 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 .3))...................t........
3b160 20 20 20 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 ...(-only-some?.'even?.'(1.3.5))
3b180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 ...................nil..........
3b1a0 20 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 0a 20 .(-only-some?.'even?.'(2.4.6))..
3b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 .................nil...--.Functi
3b1e0 6f 6e 3a 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 on:.-contains?.(list.element)...
3b200 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 ...Return.non-...nil....if.LIST.
3b220 63 6f 6e 74 61 69 6e 73 20 45 4c 45 4d 45 4e 54 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 contains.ELEMENT........The.test
3b240 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 .for.equality.is.done.with....eq
3b260 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 ual...,.or.with....-compare-fn..
3b280 99 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e .......if.that.is.non-...nil....
3b2a0 20 20 41 73 20 77 69 74 68 20 e2 80 98 6d 65 6d 62 65 72 e2 80 99 2c 20 74 68 65 20 72 65 74 75 ..As.with....member...,.the.retu
3b2c0 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 65 20 74 61 rn.value.is......actually.the.ta
3b2e0 69 6c 20 6f 66 20 4c 49 53 54 20 77 68 6f 73 65 20 63 61 72 20 69 73 20 45 4c 45 4d 45 4e 54 2e il.of.LIST.whose.car.is.ELEMENT.
3b300 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 63 6f 6e 74 61 69 6e 73 2d 70 e2 80 99 2e .......Alias:....-contains-p....
3b320 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 ............(-contains?.'(1.2.3)
3b340 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 .1)...................(1.2.3)...
3b360 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 0a ........(-contains?.'(1.2.3).2).
3b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 29 0a 20 20 20 20 20 20 20 20 ..................(2.3).........
3b3a0 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 20 ..(-contains?.'(1.2.3).4).......
3b3c0 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 ............()...--.Function:.-i
3b3e0 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 s-prefix?.(prefix.list)......Ret
3b400 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 50 52 45 46 49 58 20 69 73 20 61 urn.non-...nil....if.PREFIX.is.a
3b420 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 .prefix.of.LIST........Alias:...
3b440 98 2d 69 73 2d 70 72 65 66 69 78 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 .-is-prefix-p................(-i
3b460 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 s-prefix?.'(1.2.3).'(1.2.3.4.5))
3b480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 ...................t...........(
3b4a0 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 -is-prefix?.'(1.2.3.4.5).'(1.2.3
3b4c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 ))...................nil........
3b4e0 20 20 20 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 33 29 20 27 28 31 20 32 20 33 20 34 ...(-is-prefix?.'(1.3).'(1.2.3.4
3b500 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 .5))...................nil...--.
3b520 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 6c 69 Function:.-is-suffix?.(suffix.li
3b540 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 st)......Return.non-...nil....if
3b560 20 53 55 46 46 49 58 20 69 73 20 61 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 .SUFFIX.is.a.suffix.of.LIST.....
3b580 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 69 73 2d 73 75 66 66 69 78 2d 70 e2 80 99 2e 0a 0a 20 ...Alias:....-is-suffix-p.......
3b5a0 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 .........(-is-suffix?.'(3.4.5).'
3b5c0 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 (1.2.3.4.5))...................t
3b5e0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 ...........(-is-suffix?.'(1.2.3.
3b600 34 20 35 29 20 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 4.5).'(3.4.5))..................
3b620 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 .nil...........(-is-suffix?.'(3.
3b640 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 5).'(1.2.3.4.5))................
3b660 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 73 2d 69 6e 66 69 78 3f ...nil...--.Function:.-is-infix?
3b680 20 28 69 6e 66 69 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 .(infix.list)......Return.non-..
3b6a0 98 6e 69 6c e2 80 99 20 69 66 20 49 4e 46 49 58 20 69 73 20 69 6e 66 69 78 20 6f 66 20 4c 49 53 .nil....if.INFIX.is.infix.of.LIS
3b6c0 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 T........This.operation.runs.in.
3b6e0 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 69 73 2d O(n^2).time.......Alias:....-is-
3b700 69 6e 66 69 78 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 infix-p...............(-is-infix
3b720 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 ?.'(1.2.3).'(1.2.3.4.5))........
3b740 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 ...........t...........(-is-infi
3b760 78 3f 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 x?.'(2.3.4).'(1.2.3.4.5)).......
3b780 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 ............t...........(-is-inf
3b7a0 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 ix?.'(3.4.5).'(1.2.3.4.5))......
3b7c0 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 .............t...--.Function:.-c
3b7e0 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d ons-pair?.(obj)......Return.non-
3b800 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4f 42 4a 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 ...nil....if.OBJ.is.a.true.cons.
3b820 70 61 69 72 2e 20 20 54 68 61 74 20 69 73 2c 20 61 20 63 6f 6e 73 20 28 41 20 2e 0a 20 20 20 20 pair...That.is,.a.cons.(A.......
3b840 20 42 29 20 77 68 65 72 65 20 42 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 20 20 20 20 .B).where.B.is.not.a.list.......
3b860 20 41 6c 69 61 73 3a 20 e2 80 98 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 e2 80 99 2e 0a 0a 20 20 20 .Alias:....-cons-pair-p.........
3b880 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 29 29 0a 20 20 .......(-cons-pair?.'(1...2))...
3b8a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f ................t...........(-co
3b8c0 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ns-pair?.'(1.2))................
3b8e0 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 ...nil...........(-cons-pair?.'(
3b900 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 1f 0a 46 69 6c 1))...................nil....Fil
3b920 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 61 72 74 69 74 e:.docpgQ07Y.info,..Node:.Partit
3b940 69 6f 6e 69 6e 67 2c 20 20 4e 65 78 74 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 50 72 65 76 3a 20 ioning,..Next:.Indexing,..Prev:.
3b960 50 72 65 64 69 63 61 74 65 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 37 20 Predicates,..Up:.Functions..2.7.
3b980 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 Partitioning.================..F
3b9a0 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 unctions.partitioning.the.input.
3b9c0 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 20 2d 2d 20 list.into.a.list.of.lists....--.
3b9e0 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 Function:.-split-at.(n.list)....
3ba00 20 20 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 ..Split.LIST.into.two.sublists.a
3ba20 66 74 65 72 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 2e 20 20 54 68 65 20 72 65 73 75 6c fter.the.Nth.element...The.resul
3ba40 74 20 69 73 0a 20 20 20 20 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 t.is......a.list.of.two.elements
3ba60 20 28 54 41 4b 45 20 44 52 4f 50 29 20 77 68 65 72 65 20 54 41 4b 45 20 69 73 20 61 20 6e 65 77 .(TAKE.DROP).where.TAKE.is.a.new
3ba80 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e .list.of.the......first.N.elemen
3baa0 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 44 52 4f 50 20 69 73 20 74 68 65 20 72 65 6d 61 ts.of.LIST,.and.DROP.is.the.rema
3bac0 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 20 28 6e 6f 74 ining.elements.of......LIST.(not
3bae0 20 61 20 63 6f 70 79 29 2e 20 20 54 41 4b 45 20 61 6e 64 20 44 52 4f 50 20 61 72 65 20 6c 69 6b .a.copy)...TAKE.and.DROP.are.lik
3bb00 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 e2 80 98 2d 74 61 6b 65 e2 80 99 0a 20 20 20 e.the.results.of....-take.......
3bb20 20 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 64 72 6f 70 e2 80 ..(*note.-take::).and....-drop..
3bb40 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 3a 3a 29 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c ..(*note.-drop::),.respectively,
3bb60 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 73 70 6c 69 74 20 69 73 20 64 6f 6e 65 20 69 6e 20 61 .but.the......split.is.done.in.a
3bb80 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 72 73 61 6c 2e 0a 0a 20 20 20 20 20 20 20 .single.list.traversal..........
3bba0 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ...(-split-at.3.'(1.2.3.4.5))...
3bbc0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a ................((1.2.3).(4.5)).
3bbe0 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 ..........(-split-at.17.'(1.2.3.
3bc00 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 4.5))...................((1.2.3.
3bc20 34 20 35 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 30 4.5).nil)...........(-split-at.0
3bc40 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .'(1.2.3.4.5))..................
3bc60 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .(nil.(1.2.3.4.5))...--.Function
3bc80 3a 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 53 :.-split-with.(pred.list)......S
3bca0 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 61 20 70 72 65 66 69 78 20 73 61 74 69 73 66 79 69 plit.LIST.into.a.prefix.satisfyi
3bcc0 6e 67 20 50 52 45 44 2c 20 61 6e 64 20 74 68 65 20 72 65 73 74 2e 20 20 54 68 65 20 66 69 72 73 ng.PRED,.and.the.rest...The.firs
3bce0 74 0a 20 20 20 20 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 65 20 70 72 65 66 69 78 20 6f 66 20 t......sublist.is.the.prefix.of.
3bd00 4c 49 53 54 20 77 69 74 68 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 73 61 LIST.with.successive.elements.sa
3bd20 74 69 73 66 79 69 6e 67 0a 20 20 20 20 20 50 52 45 44 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f tisfying......PRED,.and.the.seco
3bd40 6e 64 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d nd.sublist.is.the.remaining.elem
3bd60 65 6e 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 54 68 65 20 72 65 73 75 6c ents.that.do.not.......The.resul
3bd80 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 6d 69 6e 67 0a 0a 20 20 20 20 20 28 28 2d 74 61 t.is.like.performing.......((-ta
3bda0 6b 65 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 ke-while.PRED.LIST).(-drop-while
3bdc0 20 50 52 45 44 20 4c 49 53 54 29 29 0a 0a 20 20 20 20 20 62 75 74 20 69 6e 20 6e 6f 20 6d 6f 72 .PRED.LIST)).......but.in.no.mor
3bde0 65 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 4c 49 53 e.than.a.single.pass.through.LIS
3be00 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e T.............(-split-with.'even
3be20 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ?.'(1.2.3.4))...................
3be40 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 (nil.(1.2.3.4))...........(-spli
3be60 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 t-with.'even?.'(2.4.5.6)).......
3be80 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 ............((2.4).(5.6)).......
3bea0 20 20 20 20 28 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 ....(--split-with.(<.it.4).'(1.2
3bec0 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .3.4.3.2.1))...................(
3bee0 28 31 20 32 20 33 29 20 28 34 20 33 20 32 20 31 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d (1.2.3).(4.3.2.1))...--.Macro:.-
3bf00 73 70 6c 69 74 2d 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 split-on.(item.list)......Split.
3bf20 74 68 65 20 4c 49 53 54 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 69 73 20 66 6f 75 6e 64 the.LIST.each.time.ITEM.is.found
3bf40 2e 0a 0a 20 20 20 20 20 55 6e 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 e2 ........Unlike....-partition-by.
3bf60 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 3a 29 2c 20 74 68 65 20 ...(*note.-partition-by::),.the.
3bf80 49 54 45 4d 20 69 73 0a 20 20 20 20 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 ITEM.is......discarded.from.the.
3bfa0 72 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 results...Empty.lists.are.also.r
3bfc0 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 0a 0a 20 20 emoved.from.the......result.....
3bfe0 20 20 20 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 e2 80 98 65 71 75 61 ...Comparison.is.done.by....equa
3c000 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 73 70 6c 69 74 2d 77 l...........See.also....-split-w
3c020 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 74 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 hen....(*note.-split-when::)....
3c040 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c 65 ........(-split-on.'|.'(Nil.|.Le
3c060 61 66 20 61 20 7c 20 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 20 20 20 20 20 af.a.|.Node.[Tree.a]))..........
3c080 20 20 20 20 20 e2 87 92 20 28 28 4e 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 5b .........((Nil).(Leaf.a).(Node.[
3c0a0 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a Tree.a]))...........(-split-on.:
3c0c0 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 63 22 endgroup.'("a"."b".:endgroup."c"
3c0e0 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .:endgroup."d"."e"))............
3c100 20 20 20 e2 87 92 20 28 28 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 22 .......(("a"."b").("c").("d"."e"
3c120 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 ))...........(-split-on.:endgrou
3c140 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 p.'("a"."b".:endgroup.:endgroup.
3c160 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 "d"."e"))...................(("a
3c180 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a "."b").("d"."e"))...--.Function:
3c1a0 20 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 .-split-when.(fn.list)......Spli
3c1c0 74 20 74 68 65 20 4c 49 53 54 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 t.the.LIST.on.each.element.where
3c1e0 20 46 4e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 .FN.returns.non-...nil..........
3c200 20 55 6e 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e 6f .Unlike....-partition-by....(*no
3c220 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 3a 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 te.-partition-by::),.the."matche
3c240 64 22 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f d"......element.is.discarded.fro
3c260 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 m.the.results...Empty.lists.are.
3c280 61 6c 73 6f 0a 20 20 20 20 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c also......removed.from.the.resul
3c2a0 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 74 68 t........This.function.can.be.th
3c2c0 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a ought.of.as.a.generalization.of.
3c2e0 20 20 20 20 20 e2 80 98 73 70 6c 69 74 2d 73 74 72 69 6e 67 e2 80 99 2e 0a 0a 20 20 20 20 20 20 ........split-string............
3c300 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 ....(-split-when.'even?.'(1.2.3.
3c320 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 4.5.6))...................((1).(
3c340 33 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 3).(5))...........(-split-when.'
3c360 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 36 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 even?.'(1.2.3.4.6.8.9)).........
3c380 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 33 29 20 28 39 29 29 0a 20 20 20 20 20 20 20 20 ..........((1).(3).(9)).........
3c3a0 20 20 28 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6d 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 ..(--split-when.(memq.it.'(&opti
3c3c0 6f 6e 61 6c 20 26 72 65 73 74 29 29 20 27 28 61 20 62 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 onal.&rest)).'(a.b.&optional.c.d
3c3e0 20 26 72 65 73 74 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 .&rest.args))...................
3c400 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 67 73 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ((a.b).(c.d).(args))...--.Functi
3c420 6f 6e 3a 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 53 on:.-separate.(pred.list)......S
3c440 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 62 61 73 65 plit.LIST.into.two.sublists.base
3c460 64 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 50 52 45 44 2e d.on.whether.items.satisfy.PRED.
3c480 0a 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 6d ......The.result.is.like.perform
3c4a0 69 6e 67 0a 0a 20 20 20 20 20 28 28 2d 66 69 6c 74 65 72 20 50 52 45 44 20 4c 49 53 54 29 20 28 ing.......((-filter.PRED.LIST).(
3c4c0 2d 72 65 6d 6f 76 65 20 50 52 45 44 20 4c 49 53 54 29 29 0a 0a 20 20 20 20 20 62 75 74 20 69 6e -remove.PRED.LIST)).......but.in
3c4e0 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 4c 49 53 54 2e 0a 0a 20 20 .a.single.pass.through.LIST.....
3c500 20 20 20 20 20 20 20 20 28 2d 73 65 70 61 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 ........(-separate.(lambda.(num)
3c520 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 .(=.0.(%.num.2))).'(1.2.3.4.5.6.
3c540 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 34 20 36 29 20 28 7))...................((2.4.6).(
3c560 31 20 33 20 35 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 1.3.5.7))...........(--separate.
3c580 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 39 20 33 20 32 20 31 20 34 20 36 29 29 0a 20 (<.it.5).'(3.7.5.9.3.2.1.4.6))..
3c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 .................((3.3.2.1.4).(7
3c5c0 20 35 20 39 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 70 61 72 61 74 65 20 27 63 .5.9.6))...........(-separate.'c
3c5e0 64 72 20 27 28 28 31 20 32 29 20 28 31 29 20 28 31 20 32 20 33 29 20 28 34 29 29 29 0a 20 20 20 dr.'((1.2).(1).(1.2.3).(4)))....
3c600 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 ...............(((1.2).(1.2.3)).
3c620 28 28 31 29 20 28 34 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 ((1).(4)))...--.Function:.-parti
3c640 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 tion.(n.list)......Return.a.new.
3c660 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 list.with.the.items.in.LIST.grou
3c680 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 ped.into.N-sized......sublists..
3c6a0 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 .If.there.are.not.enough.items.t
3c6c0 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 0a 20 20 20 20 20 4e 2d 73 69 7a o.make.the.last.group......N-siz
3c6e0 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a ed,.those.items.are.discarded...
3c700 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 ..........(-partition.2.'(1.2.3.
3c720 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 4.5.6))...................((1.2)
3c740 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 .(3.4).(5.6))...........(-partit
3c760 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 ion.2.'(1.2.3.4.5.6.7)).........
3c780 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 ..........((1.2).(3.4).(5.6))...
3c7a0 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 33 20 27 28 31 20 32 20 33 20 34 20 ........(-partition.3.'(1.2.3.4.
3c7c0 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 5.6.7))...................((1.2.
3c7e0 33 29 20 28 34 20 35 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 3).(4.5.6))...--.Function:.-part
3c800 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 ition-all.(n.list)......Return.a
3c820 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 .new.list.with.the.items.in.LIST
3c840 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 .grouped.into.N-sized......subli
3c860 73 74 73 2e 20 20 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e sts...The.last.group.may.contain
3c880 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 .less.than.N.items.............(
3c8a0 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 -partition-all.2.'(1.2.3.4.5.6))
3c8c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 ...................((1.2).(3.4).
3c8e0 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c (5.6))...........(-partition-all
3c900 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .2.'(1.2.3.4.5.6.7))............
3c920 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 20 .......((1.2).(3.4).(5.6).(7))..
3c940 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 .........(-partition-all.3.'(1.2
3c960 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .3.4.5.6.7))...................(
3c980 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 20 28 37 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 (1.2.3).(4.5.6).(7))...--.Functi
3c9a0 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 on:.-partition-in-steps.(n.step.
3c9c0 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 69 6e 74 6f 20 73 list)......Partition.LIST.into.s
3c9e0 75 62 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 74 68 61 74 20 61 72 65 20 53 54 45 ublists.of.length.N.that.are.STE
3ca00 50 20 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 98 2d 70 61 72 P.items.apart.......Like....-par
3ca20 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 tition-all-in-steps....(*note.-p
3ca40 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 3a 3a 29 2c 0a 20 20 20 20 20 62 artition-all-in-steps::),......b
3ca60 75 74 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 ut.if.there.are.not.enough.items
3ca80 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 4e 2d 73 69 7a 65 64 2c .to.make.the.last.group.N-sized,
3caa0 0a 20 20 20 20 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e ......those.items.are.discarded.
3cac0 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 ............(-partition-in-steps
3cae0 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .2.1.'(1.2.3.4))................
3cb00 87 92 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 ...((1.2).(2.3).(3.4))..........
3cb20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 .(-partition-in-steps.3.2.'(1.2.
3cb40 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 3.4))...................((1.2.3)
3cb60 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 )...........(-partition-in-steps
3cb80 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .3.2.'(1.2.3.4.5))..............
3cba0 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 .....((1.2.3).(3.4.5))...--.Func
3cbc0 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 28 6e tion:.-partition-all-in-steps.(n
3cbe0 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 .step.list)......Partition.LIST.
3cc00 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 74 68 61 74 20 61 into.sublists.of.length.N.that.a
3cc20 72 65 20 53 54 45 50 20 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 20 20 20 20 20 41 64 6a 61 63 65 re.STEP.items.apart.......Adjace
3cc40 6e 74 20 67 72 6f 75 70 73 20 6d 61 79 20 6f 76 65 72 6c 61 70 20 69 66 20 4e 20 65 78 63 65 65 nt.groups.may.overlap.if.N.excee
3cc60 64 73 20 74 68 65 20 53 54 45 50 20 73 74 72 69 64 65 2e 20 20 54 72 61 69 6c 69 6e 67 0a 20 20 ds.the.STEP.stride...Trailing...
3cc80 20 20 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 ...groups.may.contain.less.than.
3cca0 4e 20 69 74 65 6d 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d N.items.............(-partition-
3ccc0 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 all-in-steps.2.1.'(1.2.3.4))....
3cce0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 ...............((1.2).(2.3).(3.4
3cd00 29 20 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c ).(4))...........(-partition-all
3cd20 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 -in-steps.3.2.'(1.2.3.4)).......
3cd40 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 29 29 0a 20 20 20 20 ............((1.2.3).(3.4)).....
3cd60 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 ......(-partition-all-in-steps.3
3cd80 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .2.'(1.2.3.4.5))................
3cda0 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 20 28 35 29 29 0a 0a 20 2d 2d 20 46 75 ...((1.2.3).(3.4.5).(5))...--.Fu
3cdc0 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a nction:.-partition-by.(fn.list).
3cde0 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 .....Apply.FN.to.each.item.in.LI
3ce00 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 ST,.splitting.it.each.time.FN.re
3ce20 74 75 72 6e 73 20 61 0a 20 20 20 20 20 6e 65 77 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 turns.a......new.value..........
3ce40 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 ...(-partition-by.'even?.())....
3ce60 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 ...............()...........(-pa
3ce80 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 rtition-by.'even?.'(1.1.2.2.2.3.
3cea0 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 31 29 4.6.8))...................((1.1)
3cec0 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(2.2.2).(3).(4.6.8))...........
3cee0 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 (--partition-by.(<.it.3).'(1.2.3
3cf00 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 .4.3.2.1))...................((1
3cf20 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .2).(3.4.3).(2.1))...--.Function
3cf40 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 :.-partition-by-header.(fn.list)
3cf60 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d ......Apply.FN.to.the.first.item
3cf80 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 61 74 20 69 73 20 74 68 65 20 68 65 61 64 65 72 20 76 61 .in.LIST...That.is.the.header.va
3cfa0 6c 75 65 2e 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 lue.......Apply.FN.to.each.item.
3cfc0 69 6e 20 4c 49 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 in.LIST,.splitting.it.each.time.
3cfe0 46 4e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 FN.returns......the.header.value
3d000 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 6e 67 20 61 74 20 6c 65 61 73 74 ,.but.only.after.seeing.at.least
3d020 20 6f 6e 65 20 6f 74 68 65 72 20 76 61 6c 75 65 0a 20 20 20 20 20 28 74 68 65 20 62 6f 64 79 29 .one.other.value......(the.body)
3d040 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 .............(--partition-by-hea
3d060 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 34 der.(=.it.1).'(1.2.3.1.2.1.2.3.4
3d080 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 31 ))...................((1.2.3).(1
3d0a0 20 32 29 20 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 .2).(1.2.3.4))...........(--part
3d0c0 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3e 20 69 74 20 30 29 20 27 28 31 20 32 20 30 ition-by-header.(>.it.0).'(1.2.0
3d0e0 20 31 20 30 20 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .1.0.1.2.3.0))..................
3d100 20 28 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 20 .((1.2.0).(1.0).(1.2.3.0))......
3d120 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e .....(-partition-by-header.'even
3d140 3f 20 27 28 32 20 31 20 31 20 31 20 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 20 ?.'(2.1.1.1.4.1.3.5.6.6.1)).....
3d160 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 31 20 31 20 31 29 20 28 34 20 31 20 33 20 ..............((2.1.1.1).(4.1.3.
3d180 35 29 20 28 36 20 36 20 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 5).(6.6.1))...--.Function:.-part
3d1a0 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 ition-after-pred.(pred.list)....
3d1c0 20 20 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d ..Partition.LIST.after.each.elem
3d1e0 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 ent.for.which.PRED.returns.non-.
3d200 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 ..nil...........This.function...
3d220 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d s.anaphoric.counterpart.is....--
3d240 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 20 partition-after-pred............
3d260 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f ....(-partition-after-pred.#'boo
3d280 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 leanp.())...................()..
3d2a0 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 .........(-partition-after-pred.
3d2c0 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 #'booleanp.'(t.t))..............
3d2e0 20 e2 87 92 20 28 28 74 29 20 28 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 .....((t).(t))...........(-parti
3d300 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 tion-after-pred.#'booleanp.'(0.0
3d320 20 74 20 74 20 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 .t.t.0.t))...................((0
3d340 20 30 20 74 29 20 28 74 29 20 28 30 20 74 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .0.t).(t).(0.t))...--.Function:.
3d360 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 -partition-before-pred.(pred.lis
3d380 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 t)......Partition.directly.befor
3d3a0 65 20 65 61 63 68 20 74 69 6d 65 20 50 52 45 44 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 e.each.time.PRED.is.true.on.an.e
3d3c0 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 lement.of......LIST.............
3d3e0 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 (-partition-before-pred.#'boolea
3d400 6e 70 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 np.())...................().....
3d420 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 ......(-partition-before-pred.#'
3d440 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 booleanp.'(0.t))................
3d460 87 92 20 28 28 30 29 20 28 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 ...((0).(t))...........(-partiti
3d480 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 on-before-pred.#'booleanp.'(0.0.
3d4a0 74 20 30 20 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 t.0.t.t))...................((0.
3d4c0 30 29 20 28 74 20 30 29 20 28 74 29 20 28 74 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 0).(t.0).(t).(t))...--.Function:
3d4e0 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 .-partition-before-item.(item.li
3d500 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f st)......Partition.directly.befo
3d520 72 65 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 re.each.time.ITEM.appears.in.LIS
3d540 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 T.............(-partition-before
3d560 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 -item.3.())...................()
3d580 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 ...........(-partition-before-it
3d5a0 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 em.3.'(1))...................((1
3d5c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d ))...........(-partition-before-
3d5e0 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 item.3.'(3))...................(
3d600 28 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 (3))...--.Function:.-partition-a
3d620 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 fter-item.(item.list)......Parti
3d640 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 74 69 6d 65 20 49 54 tion.directly.after.each.time.IT
3d660 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 EM.appears.in.LIST.............(
3d680 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 -partition-after-item.3.()).....
3d6a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 ..............()...........(-par
3d6c0 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 20 20 tition-after-item.3.'(1)).......
3d6e0 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 ............((1))...........(-pa
3d700 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 20 rtition-after-item.3.'(3))......
3d720 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .............((3))...--.Function
3d740 3a 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 65 70 61 72 :.-group-by.(fn.list)......Separ
3d760 61 74 65 20 4c 49 53 54 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 ate.LIST.into.an.alist.whose.key
3d780 73 20 61 72 65 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6c 65 s.are.FN.applied.to.the......ele
3d7a0 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 ments.of.LIST...Keys.are.compare
3d7c0 64 20 62 79 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 d.by....equal................(-g
3d7e0 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 roup-by.'even?.())..............
3d800 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 .....()...........(-group-by.'ev
3d820 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 en?.'(1.1.2.2.2.3.4.6.8)).......
3d840 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 20 31 20 31 20 33 29 20 28 74 20 32 20 32 20 ............((nil.1.1.3).(t.2.2.
3d860 32 20 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 2.4.6.8))...........(--group-by.
3d880 28 63 61 72 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 (car.(split-string.it."/")).'("a
3d8a0 2f 62 22 20 22 63 2f 64 22 20 22 61 2f 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /b"."c/d"."a/e"))...............
3d8c0 e2 87 92 20 28 28 22 61 22 20 22 61 2f 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 ....(("a"."a/b"."a/e").("c"."c/d
3d8e0 22 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f "))....File:.docpgQ07Y.info,..No
3d900 64 65 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 4e 65 78 74 3a 20 53 65 74 20 6f 70 65 72 61 74 69 de:.Indexing,..Next:.Set.operati
3d920 6f 6e 73 2c 20 20 50 72 65 76 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 55 70 3a 20 46 ons,..Prev:.Partitioning,..Up:.F
3d940 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 38 20 49 6e 64 65 78 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d unctions..2.8.Indexing.=========
3d960 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 ===..Functions.retrieving.or.sor
3d980 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 20 72 ting.based.on.list.indices.and.r
3d9a0 65 6c 61 74 65 64 0a 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e elated.predicates....--.Function
3d9c0 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 :.-elem-index.(elem.list)......R
3d9e0 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 6e 64 65 78 20 6f 66 20 45 4c 45 4d 20 69 6e eturn.the.first.index.of.ELEM.in
3da00 20 4c 49 53 54 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 65 78 20 77 69 74 68 69 .LIST...That.is,.the.index.withi
3da20 6e 0a 20 20 20 20 20 4c 49 53 54 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 n......LIST.of.the.first.element
3da40 20 74 68 61 74 20 69 73 20 e2 80 98 65 71 75 61 6c e2 80 99 20 74 6f 20 45 4c 45 4d 2e 20 20 52 .that.is....equal....to.ELEM...R
3da60 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 20 20 20 74 68 65 72 65 20 69 73 eturn....nil....if......there.is
3da80 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f .no.such.element........See.also
3daa0 3a 20 e2 80 98 2d 66 69 6e 64 2d 69 6e 64 65 78 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6e 64 :....-find-index....(*note.-find
3dac0 2d 69 6e 64 65 78 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 -index::).............(-elem-ind
3dae0 65 78 20 32 20 27 28 36 20 37 20 38 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ex.2.'(6.7.8.3.4))..............
3db00 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 .....nil...........(-elem-index.
3db20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 "bar".'("foo"."bar"."baz")).....
3db40 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d ..............1...........(-elem
3db60 2d 69 6e 64 65 78 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 20 32 29 20 -index.'(1.2).'((3).(5.6).(1.2).
3db80 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 46 nil))...................2...--.F
3dba0 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 unction:.-elem-indices.(elem.lis
3dbc0 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 t)......Return.the.list.of.indic
3dbe0 65 73 20 61 74 20 77 68 69 63 68 20 45 4c 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 es.at.which.ELEM.appears.in.LIST
3dc00 2e 20 20 54 68 61 74 20 69 73 2c 0a 20 20 20 20 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 ...That.is,......the.indices.of.
3dc20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 e2 80 98 65 71 75 61 6c e2 80 99 all.elements.of.LIST....equal...
3dc40 20 74 6f 20 45 4c 45 4d 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 73 63 65 6e .to.ELEM,.in.the.same......ascen
3dc60 64 69 6e 67 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 4c 49 53 ding.order.as.they.appear.in.LIS
3dc80 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 T.............(-elem-indices.2.'
3dca0 28 36 20 37 20 38 20 33 20 34 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 (6.7.8.3.4.1))..................
3dcc0 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 22 62 61 .()...........(-elem-indices."ba
3dce0 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 r".'("foo"."bar"."baz"))........
3dd00 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d ...........(1)...........(-elem-
3dd20 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 31 20 32 29 20 28 35 20 36 29 indices.'(1.2).'((3).(1.2).(5.6)
3dd40 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .(1.2).nil))...................(
3dd60 31 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 1.3)...--.Function:.-find-index.
3dd80 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 (pred.list)......Return.the.inde
3dda0 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 50 x.of.the.first.item.satisfying.P
3ddc0 52 45 44 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 0a 20 20 20 20 20 e2 80 98 6e 69 6c RED.in.LIST...Return.........nil
3dde0 e2 80 99 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 20 ....if.no.such.item.is.found....
3de00 20 20 20 20 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 ....PRED.is.called.with.one.argu
3de20 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2c 20 ment,.the.current.list.element,.
3de40 75 6e 74 69 6c 0a 20 20 20 20 20 69 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c until......it.returns.non-...nil
3de60 e2 80 99 2c 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 20 74 68 65 20 73 65 61 72 63 68 20 74 ...,.at.which.point.the.search.t
3de80 65 72 6d 69 6e 61 74 65 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 erminates........This.function..
3dea0 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d .s.anaphoric.counterpart.is....-
3dec0 2d 66 69 6e 64 2d 69 6e 64 65 78 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 -find-index...........See.also:.
3dee0 e2 80 98 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 72 73 74 3a 3a 29 2c 20 e2 ...-first....(*note.-first::),..
3df00 80 98 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 ..-find-last-index....(*note....
3df20 20 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 ..-find-last-index::)...........
3df40 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 ..(-find-index.#'numberp.'(a.b.c
3df60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 ))...................nil........
3df80 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 30 20 ...(-find-index.#'natnump.'(1.0.
3dfa0 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 -1))...................0........
3dfc0 20 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3e 20 69 74 20 35 29 20 27 28 32 20 34 20 ...(--find-index.(>.it.5).'(2.4.
3dfe0 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 1.6.3.3.5.8))...................
3e000 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 3...--.Function:.-find-last-inde
3e020 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e x.(pred.list)......Return.the.in
3e040 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 dex.of.the.last.item.satisfying.
3e060 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 0a 20 20 20 20 20 e2 80 98 6e 69 PRED.in.LIST...Return.........ni
3e080 6c e2 80 99 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a l....if.no.such.item.is.found...
3e0a0 20 20 20 20 20 50 72 65 64 69 63 61 74 65 20 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 .....Predicate.PRED.is.called.wi
3e0c0 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 65 61 63 68 20 74 69 6d 65 2c 20 6e 61 6d 65 6c th.one.argument.each.time,.namel
3e0e0 79 20 74 68 65 0a 20 20 20 20 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2e y.the......current.list.element.
3e100 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 .......This.function...s.anaphor
3e120 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 6e 64 2d 6c 61 73 74 ic.counterpart.is....--find-last
3e140 2d 69 6e 64 65 78 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6c -index...........See.also:....-l
3e160 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 3a 3a 29 2c 20 e2 80 98 2d 66 69 6e 64 ast....(*note.-last::),....-find
3e180 2d 69 6e 64 65 78 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 66 69 6e 64 2d 69 6e 64 65 -index....(*note......-find-inde
3e1a0 78 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 x::).............(-find-last-ind
3e1c0 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 ex.#'numberp.'(a.b.c))..........
3e1e0 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 6c .........nil...........(--find-l
3e200 61 73 74 2d 69 6e 64 65 78 20 28 3e 20 69 74 20 35 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 ast-index.(>.it.5).'(2.7.1.6.3.8
3e220 20 35 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 20 20 20 20 20 .5.2))...................5......
3e240 20 20 20 20 20 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c .....(-find-last-index.(-partial
3e260 20 23 27 73 74 72 69 6e 67 3c 20 27 61 29 20 27 28 63 20 62 20 61 29 29 0a 20 20 20 20 20 20 20 .#'string<.'a).'(c.b.a))........
3e280 20 20 20 20 20 20 20 e2 87 92 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e ...........1...--.Function:.-fin
3e2a0 64 2d 69 6e 64 69 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 d-indices.(pred.list)......Retur
3e2c0 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 69 6e 20 4c 49 53 54 20 73 61 n.the.list.of.indices.in.LIST.sa
3e2e0 74 69 73 66 79 69 6e 67 20 50 52 45 44 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e tisfying.PRED........Each.elemen
3e300 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 70 61 73 73 65 64 20 74 6f 20 50 t.of.LIST.in.turn.is.passed.to.P
3e320 52 45 44 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d RED...If.the.result.is......non-
3e340 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 61 74 20 65 6c 65 ...nil...,.the.index.of.that.ele
3e360 6d 65 6e 74 20 69 6e 20 4c 49 53 54 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 0a ment.in.LIST.is.included.in.the.
3e380 20 20 20 20 20 72 65 73 75 6c 74 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 69 6e 64 69 63 .....result...The.returned.indic
3e3a0 65 73 20 61 72 65 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2c 20 69 2e 65 2e 2c es.are.in.ascending.order,.i.e.,
3e3c0 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 .in.the......same.order.as.they.
3e3e0 61 70 70 65 61 72 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 appear.in.LIST........This.funct
3e400 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ion...s.anaphoric.counterpart.is
3e420 20 e2 80 98 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 ....--find-indices...........See
3e440 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 6e 64 2d 69 6e 64 65 78 e2 80 99 20 28 2a 6e 6f 74 65 20 .also:....-find-index....(*note.
3e460 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 3a 29 2c 20 e2 80 98 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 -find-index::),....-elem-indices
3e480 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 3a 3a 29 .........(*note.-elem-indices::)
3e4a0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 23 27 6e 75 .............(-find-indices.#'nu
3e4c0 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 mberp.'(a.b.c)).................
3e4e0 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 23 27 ..()...........(-find-indices.#'
3e500 6e 75 6d 62 65 72 70 20 27 28 38 20 31 20 64 20 32 20 62 20 63 20 61 20 33 29 29 0a 20 20 20 20 numberp.'(8.1.d.2.b.c.a.3)).....
3e520 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 33 20 37 29 0a 20 20 20 20 20 20 20 20 ..............(0.1.3.7).........
3e540 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 3e 20 69 74 20 35 29 20 27 28 32 20 34 ..(--find-indices.(>.it.5).'(2.4
3e560 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .1.6.3.3.5.8))..................
3e580 20 28 33 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 75 70 20 .(3.7)...--.Function:.-grade-up.
3e5a0 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 47 72 61 64 65 20 65 6c 65 (comparator.list)......Grade.ele
3e5c0 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 ments.of.LIST.using.COMPARATOR.r
3e5e0 65 6c 61 74 69 6f 6e 2e 20 20 54 68 69 73 20 79 69 65 6c 64 73 20 61 0a 20 20 20 20 20 70 65 72 elation...This.yields.a......per
3e600 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 mutation.vector.such.that.applyi
3e620 6e 67 20 74 68 69 73 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 0a 20 20 20 20 ng.this.permutation.to.LIST.....
3e640 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 .sorts.it.in.ascending.order....
3e660 20 20 20 20 20 20 20 20 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 27 28 33 20 31 20 34 20 .........(-grade-up.#'<.'(3.1.4.
3e680 32 20 31 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 2.1.3.3))...................(1.4
3e6a0 20 33 20 30 20 35 20 36 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 .3.0.5.6.2)...........(let.((l.'
3e6c0 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e (3.1.4.2.1.3.3))).(-select-by-in
3e6e0 64 69 63 65 73 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 dices.(-grade-up.#'<.l).l)).....
3e700 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 0a 20 ..............(1.1.2.3.3.3.4)...
3e720 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 28 63 6f 6d 70 61 72 --.Function:.-grade-down.(compar
3e740 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f ator.list)......Grade.elements.o
3e760 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e f.LIST.using.COMPARATOR.relation
3e780 2e 20 20 54 68 69 73 20 79 69 65 6c 64 73 20 61 0a 20 20 20 20 20 70 65 72 6d 75 74 61 74 69 6f ...This.yields.a......permutatio
3e7a0 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 n.vector.such.that.applying.this
3e7c0 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 0a 20 20 20 20 20 73 6f 72 74 73 20 .permutation.to.LIST......sorts.
3e7e0 69 74 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 it.in.descending.order..........
3e800 20 20 20 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 ...(-grade-down.#'<.'(3.1.4.2.1.
3e820 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 30 20 35 20 36 3.3))...................(2.0.5.6
3e840 20 33 20 31 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 .3.1.4)...........(let.((l.'(3.1
3e860 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 .4.2.1.3.3))).(-select-by-indice
3e880 73 20 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 20 20 s.(-grade-down.#'<.l).l)).......
3e8a0 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 33 20 33 20 33 20 32 20 31 20 31 29 0a 0a 1f 0a 46 ............(4.3.3.3.2.1.1)....F
3e8c0 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 65 74 20 ile:.docpgQ07Y.info,..Node:.Set.
3e8e0 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 operations,..Next:.Other.list.op
3e900 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 55 70 3a 20 erations,..Prev:.Indexing,..Up:.
3e920 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 39 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 3d 3d Functions..2.9.Set.operations.==
3e940 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 ================..Operations.pre
3e960 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e tending.lists.are.sets....--.Fun
3e980 63 74 69 6f 6e 3a 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 ction:.-union.(list1.list2).....
3e9a0 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 69 6e 63 74 20 65 .Return.a.new.list.of.distinct.e
3e9c0 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 65 69 74 68 65 72 20 4c 49 53 54 lements.appearing.in.either.LIST
3e9e0 31 20 6f 72 0a 20 20 20 20 20 4c 49 53 54 32 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 1.or......LIST2........The.test.
3ea00 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 for.equality.is.done.with....equ
3ea20 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 al...,.or.with....-compare-fn...
3ea40 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a ......if.that.is.non-...nil.....
3ea60 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 33 20 ...........(-union.'(1.2.3).'(3.
3ea80 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 4.5))...................(1.2.3.4
3eaa0 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 32 20 34 29 .5)...........(-union.'(1.2.2.4)
3eac0 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 34 29 0a 20 .())...................(1.2.4)..
3eae0 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 32 29 20 27 28 34 20 .........(-union.'(1.1.2.2).'(4.
3eb00 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 4.3.2.1))...................(1.2
3eb20 20 34 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 66 66 65 72 65 6e 63 65 .4.3)...--.Function:.-difference
3eb40 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 .(list1.list2)......Return.a.new
3eb60 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 6d 65 6d 62 65 72 73 20 .list.with.the.distinct.members.
3eb80 6f 66 20 4c 49 53 54 31 20 74 68 61 74 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 69 6e 20 4c 49 of.LIST1.that.are.not......in.LI
3eba0 53 54 32 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 ST2........The.test.for.equality
3ebc0 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 .is.done.with....equal...,.or.wi
3ebe0 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 0a 20 20 20 20 20 69 66 20 74 68 61 th....-compare-fn.........if.tha
3ec00 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 t.is.non-...nil................(
3ec20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -difference.().())..............
3ec40 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 .....()...........(-difference.'
3ec60 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (1.2.3).'(4.5.6))...............
3ec80 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e ....(1.2.3)...........(-differen
3eca0 63 65 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 ce.'(1.2.3.4).'(3.4.5.6)).......
3ecc0 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ............(1.2)...--.Function:
3ece0 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 .-intersection.(list1.list2)....
3ed00 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 69 6e 63 74 20 ..Return.a.new.list.of.distinct.
3ed20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 62 6f 74 68 20 4c 49 53 54 31 elements.appearing.in.both.LIST1
3ed40 20 61 6e 64 0a 20 20 20 20 20 4c 49 53 54 32 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 .and......LIST2........The.test.
3ed60 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 for.equality.is.done.with....equ
3ed80 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 al...,.or.with....-compare-fn...
3eda0 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a ......if.that.is.non-...nil.....
3edc0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 29 20 28 29 29 ...........(-intersection.().())
3ede0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 ...................()...........
3ee00 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 (-intersection.'(1.2.3).'(4.5.6)
3ee20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 )...................()..........
3ee40 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 32 20 33 29 20 27 28 34 20 33 .(-intersection.'(1.2.2.3).'(4.3
3ee60 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 29 0a 0a .3.2))...................(2.3)..
3ee80 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 20 .--.Function:.-powerset.(list)..
3eea0 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 4c 49 53 54 ....Return.the.power.set.of.LIST
3eec0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 6f 77 65 72 73 65 74 20 28 29 29 0a 20 20 20 20 .............(-powerset.()).....
3eee0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..............(nil)...........(-
3ef00 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 powerset.'(x.y))................
3ef20 87 92 20 28 28 78 20 79 29 20 28 78 29 20 28 79 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 ...((x.y).(x).(y).nil)..........
3ef40 20 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(-powerset.'(x.y.z))...........
3ef60 20 20 20 20 e2 87 92 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 7a 29 20 28 78 29 ........((x.y.z).(x.y).(x.z).(x)
3ef80 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f .(y.z).(y).(z).nil)...--.Functio
3efa0 6e 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 n:.-permutations.(list)......Ret
3efc0 75 72 6e 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 urn.the.distinct.permutations.of
3efe0 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 44 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 .LIST........Duplicate.elements.
3f000 6f 66 20 4c 49 53 54 20 61 72 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 e2 80 98 65 71 75 of.LIST.are.determined.by....equ
3f020 61 6c e2 80 99 2c 20 6f 72 20 62 79 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e al...,.or.by.........-compare-fn
3f040 e2 80 99 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 ....if.that.is.non-...nil.......
3f060 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 0a 20 20 20 20 .........(-permutations.()).....
3f080 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..............(nil)...........(-
3f0a0 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 20 permutations.'(a.a.b))..........
3f0c0 20 20 20 20 20 e2 87 92 20 28 28 61 20 61 20 62 29 20 28 61 20 62 20 61 29 20 28 62 20 61 20 61 .........((a.a.b).(a.b.a).(b.a.a
3f0e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 ))...........(-permutations.'(a.
3f100 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 62 20 63 29 b.c))...................((a.b.c)
3f120 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 20 28 63 20 61 20 62 29 .(a.c.b).(b.a.c).(b.c.a).(c.a.b)
3f140 20 28 63 20 62 20 61 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 73 74 69 6e .(c.b.a))...--.Function:.-distin
3f160 63 74 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 ct.(list)......Return.a.copy.of.
3f180 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 LIST.with.all.duplicate.elements
3f1a0 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 .removed........The.test.for.equ
3f1c0 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 ality.is.done.with....equal...,.
3f1e0 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 0a 20 20 20 20 20 69 or.with....-compare-fn.........i
3f200 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 f.that.is.non-...nil...........A
3f220 6c 69 61 73 3a 20 e2 80 98 2d 75 6e 69 71 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d lias:....-uniq................(-
3f240 64 69 73 74 69 6e 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 distinct.())...................(
3f260 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 20 31 20 32 20 33 )...........(-distinct.'(1.1.2.3
3f280 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 .3))...................(1.2.3)..
3f2a0 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 74 29 29 0a 20 20 .........(-distinct.'(t.t.t))...
3f2c0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ................(t)...--.Functio
3f2e0 6e 3a 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 n:.-same-items?.(list1.list2)...
3f300 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 31 ...Return.non-...nil....if.LIST1
3f320 20 61 6e 64 20 4c 49 53 54 32 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 64 69 73 74 69 6e 63 .and.LIST2.have.the.same.distinc
3f340 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 72 64 65 72 t......elements........The.order
3f360 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 6c 69 73 74 73 20 64 6f .of.the.elements.in.the.lists.do
3f380 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 20 20 54 68 65 20 6c 69 73 74 73 0a 20 20 20 20 20 6d es.not.matter...The.lists......m
3f3a0 61 79 20 62 65 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 6c 65 6e 67 74 68 73 2c 20 69 2e 65 2e ay.be.of.different.lengths,.i.e.
3f3c0 2c 20 63 6f 6e 74 61 69 6e 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 2e 20 20 54 ,.contain.duplicate.elements...T
3f3e0 68 65 0a 20 20 20 20 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e he......test.for.equality.is.don
3f400 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d e.with....equal...,.or.with....-
3f420 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 0a 20 20 20 20 20 74 68 61 74 20 69 73 20 6e 6f compare-fn....if......that.is.no
3f440 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 73 61 n-...nil...........Alias:....-sa
3f460 6d 65 2d 69 74 65 6d 73 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 6d 65 me-items-p................(-same
3f480 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 -items?.'(1.2.3).'(1.2.3))......
3f4a0 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 6d 65 2d .............t...........(-same-
3f4c0 69 74 65 6d 73 3f 20 27 28 31 20 31 20 32 20 33 29 20 27 28 33 20 33 20 32 20 31 29 29 0a 20 20 items?.'(1.1.2.3).'(3.3.2.1))...
3f4e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 ................t...........(-sa
3f500 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 me-items?.'(1.2.3).'(1.2.3.4))..
3f520 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f .................nil....File:.do
3f540 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 cpgQ07Y.info,..Node:.Other.list.
3f560 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f operations,..Next:.Tree.operatio
3f580 6e 73 2c 20 20 50 72 65 76 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 ns,..Prev:.Set.operations,..Up:.
3f5a0 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 30 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 Functions..2.10.Other.list.opera
3f5c0 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tions.==========================
3f5e0 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 ..Other.list.functions.not.fit.t
3f600 6f 20 62 65 20 63 6c 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 20 2d 2d 20 o.be.classified.elsewhere....--.
3f620 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 Function:.-rotate.(n.list)......
3f640 52 6f 74 61 74 65 20 4c 49 53 54 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 Rotate.LIST.N.places.to.the.righ
3f660 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 20 20 54 68 65 0a t.(left.if.N.is.negative)...The.
3f680 20 20 20 20 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 0a 0a 20 .....time.complexity.is.O(n)....
3f6a0 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 .........(-rotate.3.'(1.2.3.4.5.
3f6c0 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 20 37 20 31 6.7))...................(5.6.7.1
3f6e0 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 .2.3.4)...........(-rotate.-3.'(
3f700 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 1.2.3.4.5.6.7)).................
3f720 92 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f ..(4.5.6.7.1.2.3)...........(-ro
3f740 74 61 74 65 20 31 36 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 tate.16.'(1.2.3.4.5.6.7)).......
3f760 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d ............(6.7.1.2.3.4.5)...--
3f780 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 .Function:.-cons*.(&rest.args)..
3f7a0 20 20 20 20 4d 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 ....Make.a.new.list.from.the.ele
3f7c0 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 2e 20 20 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 ments.of.ARGS...The.last.2.eleme
3f7e0 6e 74 73 20 6f 66 0a 20 20 20 20 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 nts.of......ARGS.are.used.as.the
3f800 20 66 69 6e 61 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 .final.cons.of.the.result,.so.if
3f820 20 74 68 65 20 66 69 6e 61 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 .the.final......element.of.ARGS.
3f840 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 64 is.not.a.list,.the.result.is.a.d
3f860 6f 74 74 65 64 20 6c 69 73 74 2e 20 20 57 69 74 68 0a 20 20 20 20 20 6e 6f 20 41 52 47 53 2c 20 otted.list...With......no.ARGS,.
3f880 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 return....nil................(-c
3f8a0 6f 6e 73 2a 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 2e ons*.1.2)...................(1..
3f8c0 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 20 .2)...........(-cons*.1.2.3)....
3f8e0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 2e 20 33 29 0a 20 20 20 20 20 20 20 ...............(1.2...3)........
3f900 20 20 20 28 2d 63 6f 6e 73 2a 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ...(-cons*.1)...................
3f920 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c 65 1...--.Function:.-snoc.(list.ele
3f940 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 20 20 20 20 20 41 70 70 65 6e 64 20 45 4c m.&rest.elements)......Append.EL
3f960 45 4d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 EM.to.the.end.of.the.list.......
3f980 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 63 6f 6e 73 e2 80 99 2c 20 62 75 74 20 6f 70 .This.is.like....cons...,.but.op
3f9a0 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 20 20 20 20 erates.on.the.end.of.list.......
3f9c0 20 49 66 20 61 6e 79 20 45 4c 45 4d 45 4e 54 53 20 61 72 65 20 67 69 76 65 6e 2c 20 61 70 70 65 .If.any.ELEMENTS.are.given,.appe
3f9e0 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 nd.them.to.the.list.as.well.....
3fa00 20 20 20 20 20 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 ........(-snoc.'(1.2.3).4)......
3fa20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 .............(1.2.3.4)..........
3fa40 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 20 .(-snoc.'(1.2.3).4.5.6).........
3fa60 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 20 ..........(1.2.3.4.5.6).........
3fa80 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 ..(-snoc.'(1.2.3).'(4.5.6)).....
3faa0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 0a 20 ..............(1.2.3.(4.5.6))...
3fac0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 73 --.Function:.-interpose.(sep.lis
3fae0 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c t)......Return.a.new.list.of.all
3fb00 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 65 70 61 72 61 74 65 64 20 62 79 20 53 .elements.in.LIST.separated.by.S
3fb20 45 50 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 EP.............(-interpose."-".(
3fb40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 ))...................().........
3fb60 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 29 29 0a 20 20 20 20 20 20 ..(-interpose."-".'("a")).......
3fb80 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e ............("a")...........(-in
3fba0 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 terpose."-".'("a"."b"."c")).....
3fbc0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d 22 20 22 ..............("a"."-"."b"."-"."
3fbe0 63 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 c")...--.Function:.-interleave.(
3fc00 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c &rest.lists)......Return.a.new.l
3fc20 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 ist.of.the.first.item.in.each.li
3fc40 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 0a 20 20 20 20 20 65 74 63 2e 0a 0a 20 st,.then.the.second......etc....
3fc60 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 .........(-interleave.'(1.2).'("
3fc80 61 22 20 22 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 a"."b"))...................(1."a
3fca0 22 20 32 20 22 62 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 ".2."b")...........(-interleave.
3fcc0 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 0a 20 20 '(1.2).'("a"."b").'("A"."B"))...
3fce0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 ................(1."a"."A".2."b"
3fd00 20 22 42 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 ."B")...........(-interleave.'(1
3fd20 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2.3).'("a"."b"))...............
3fd40 e2 87 92 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ....(1."a".2."b")...--.Function:
3fd60 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 .-iota.(count.&optional.start.st
3fd80 65 70 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e ep)......Return.a.list.containin
3fda0 67 20 43 4f 55 4e 54 20 6e 75 6d 62 65 72 73 2e 20 20 53 74 61 72 74 73 20 66 72 6f 6d 20 53 54 g.COUNT.numbers...Starts.from.ST
3fdc0 41 52 54 20 61 6e 64 20 61 64 64 73 0a 20 20 20 20 20 53 54 45 50 20 65 61 63 68 20 74 69 6d 65 ART.and.adds......STEP.each.time
3fde0 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 53 54 41 52 54 20 69 73 20 7a 65 72 6f 2c 20 74 68 ...The.default.START.is.zero,.th
3fe00 65 20 64 65 66 61 75 6c 74 20 53 54 45 50 20 69 73 20 31 2e 0a 20 20 20 20 20 54 68 69 73 20 66 e.default.STEP.is.1.......This.f
3fe20 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 unction.takes.its.name.from.the.
3fe40 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 20 20 20 20 20 corresponding.primitive.in......
3fe60 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 the.APL.language.............(-i
3fe80 6f 74 61 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 20 ota.6)...................(0.1.2.
3fea0 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 3.4.5)...........(-iota.4.2.5.-2
3fec0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e )...................(2.5.0.5.-1.
3fee0 35 20 2d 33 2e 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6f 74 61 20 2d 31 29 0a 20 20 20 5.-3.5)...........(-iota.-1)....
3ff00 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 ...........error....Wrong.type.a
3ff20 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 2c 20 2d 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 rgument:.natnump,.-1...--.Functi
3ff40 6f 6e 3a 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 on:.-zip-with.(fn.list1.list2)..
3ff60 20 20 20 20 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 69 6e 74 6f 20 61 20 6e ....Zip.LIST1.and.LIST2.into.a.n
3ff80 65 77 20 6c 69 73 74 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 20 20 ew.list.using.the.function.FN...
3ffa0 54 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 70 70 6c 79 20 46 4e 20 70 61 69 72 77 69 73 65 20 That......is,.apply.FN.pairwise.
3ffc0 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 taking.as.first.argument.the.nex
3ffe0 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 31 20 61 6e 64 20 61 73 20 73 t.element.of......LIST1.and.as.s
40000 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 econd.argument.the.next.element.
40020 6f 66 20 4c 49 53 54 32 20 61 74 20 74 68 65 0a 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 of.LIST2.at.the......correspondi
40040 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 73 20 6c ng.position...The.result.is.as.l
40060 6f 6e 67 20 61 73 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 54 ong.as.the.shorter.list........T
40080 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 his.function...s.anaphoric.count
400a0 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 7a 69 70 2d 77 69 74 68 e2 80 99 2e 0a 0a 20 20 20 erpart.is....--zip-with.........
400c0 20 20 46 6f 72 20 6f 74 68 65 72 20 7a 69 70 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 7a ..For.other.zips,.see.also....-z
400e0 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 ip-lists....(*note.-zip-lists::)
40100 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 7a 69 70 2d 66 69 6c 6c e2 80 99 20 28 2a 6e 6f 74 65 .and.........-zip-fill....(*note
40120 20 2d 7a 69 70 2d 66 69 6c 6c 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d .-zip-fill::).............(-zip-
40140 77 69 74 68 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 29 0a 20 20 with.#'+.'(1.2.3.4).'(5.6.7))...
40160 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 38 20 31 30 29 0a 20 20 20 20 20 20 20 ................(6.8.10)........
40180 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 23 27 63 6f 6e 73 20 27 28 31 20 32 20 33 29 20 27 28 ...(-zip-with.#'cons.'(1.2.3).'(
401a0 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 4.5.6.7))...................((1.
401c0 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..4).(2...5).(3...6))...........
401e0 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 6f 72 6d 61 74 20 22 25 73 20 26 20 25 73 22 20 69 74 (--zip-with.(format."%s.&.%s".it
40200 20 6f 74 68 65 72 29 20 27 28 42 61 74 6d 61 6e 20 4a 65 6b 79 6c 6c 29 20 27 28 52 6f 62 69 6e .other).'(Batman.Jekyll).'(Robin
40220 20 48 79 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 42 61 74 6d .Hyde))...................("Batm
40240 61 6e 20 26 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 26 20 48 79 64 65 22 29 0a 0a 20 2d an.&.Robin"."Jekyll.&.Hyde")...-
40260 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 70 61 69 72 20 28 6c 69 73 74 31 20 6c 69 73 -.Function:.-zip-pair.(list1.lis
40280 74 32 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 74 6f 67 t2)......Zip.LIST1.and.LIST2.tog
402a0 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 4d 61 6b 65 20 61 20 70 61 69 72 20 77 69 74 68 20 74 68 ether........Make.a.pair.with.th
402c0 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 e.head.of.each.list,.followed.by
402e0 20 61 20 70 61 69 72 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 65 6c 65 .a.pair.with.the......second.ele
40300 6d 65 6e 74 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 ment.of.each.list,.and.so.on...T
40320 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 69 72 73 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 he.number.of.pairs......returned
40340 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 .is.equal.to.the.length.of.the.s
40360 68 6f 72 74 65 72 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 horter.input.list........See.als
40380 6f 3a 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d o:....-zip-lists....(*note.-zip-
403a0 6c 69 73 74 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72 20 lists::).............(-zip-pair.
403c0 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 '(1.2.3.4).'(5.6.7))............
403e0 20 20 20 e2 87 92 20 28 28 31 20 2e 20 35 29 20 28 32 20 2e 20 36 29 20 28 33 20 2e 20 37 29 29 .......((1...5).(2...6).(3...7))
40400 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72 20 27 28 31 20 32 20 33 29 20 27 ...........(-zip-pair.'(1.2.3).'
40420 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e (4.5.6))...................((1..
40440 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .4).(2...5).(3...6))...........(
40460 2d 7a 69 70 2d 70 61 69 72 20 27 28 31 20 32 29 20 27 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 -zip-pair.'(1.2).'(3))..........
40480 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .........((1...3))...--.Function
404a0 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 :.-zip-lists.(&rest.lists)......
404c0 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 47 72 6f 75 70 20 Zip.LISTS.together........Group.
404e0 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 the.head.of.each.list,.followed.
40500 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 0a 20 20 by.the.second.element.of.each...
40520 20 20 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 ...list,.and.so.on...The.number.
40540 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 of.returned.groupings.is.equal.t
40560 6f 20 74 68 65 0a 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 o.the......length.of.the.shortes
40580 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 t.input.list,.and.the.length.of.
405a0 65 61 63 68 20 67 72 6f 75 70 69 6e 67 0a 20 20 20 20 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 each.grouping......is.equal.to.t
405c0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 he.number.of.input.LISTS........
405e0 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 6c 69 73 The.return.value.is.always.a.lis
40600 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 t.of.proper.lists,.in.contrast.t
40620 6f 0a 20 20 20 20 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 o.........-zip....(*note.-zip::)
40640 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 .which.returns.a.list.of.dotted.
40660 70 61 69 72 73 20 77 68 65 6e 0a 20 20 20 20 20 6f 6e 6c 79 20 74 77 6f 20 69 6e 70 75 74 20 4c pairs.when......only.two.input.L
40680 49 53 54 53 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 ISTS.are.provided........See.als
406a0 6f 3a 20 e2 80 98 2d 7a 69 70 2d 70 61 69 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 70 o:....-zip-pair....(*note.-zip-p
406c0 61 69 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 air::).............(-zip-lists.'
406e0 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (1.2.3).'(4.5.6))...............
40700 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 20 ....((1.4).(2.5).(3.6)).........
40720 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 ..(-zip-lists.'(1.2.3).'(4.5.6.7
40740 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 35 ))...................((1.4).(2.5
40760 29 20 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 ).(3.6))...........(-zip-lists.'
40780 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (1.2).'(3.4.5).'(6))............
407a0 20 20 20 e2 87 92 20 28 28 31 20 33 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .......((1.3.6))...--.Function:.
407c0 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 -zip-lists-fill.(fill-value.&res
407e0 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 t.lists)......Zip.LISTS.together
40800 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 46 49 4c ,.padding.shorter.lists.with.FIL
40820 4c 2d 56 41 4c 55 45 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 6c 69 6b 65 20 e2 80 98 2d L-VALUE...This.is......like....-
40840 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a zip-lists....(*note.-zip-lists::
40860 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 0a 20 20 20 20 20 72 65 ).(which.see),.except.it......re
40880 74 61 69 6e 73 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 tains.all.elements.at.positions.
408a0 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 0a 20 beyond.the.end.of.the.shortest..
408c0 20 20 20 20 6c 69 73 74 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 ....list...The.number.of.returne
408e0 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 d.groupings.is.equal.to.the.leng
40900 74 68 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 th.of......the.longest.input.lis
40920 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 t,.and.the.length.of.each.groupi
40940 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 0a 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 72 20 6f ng.is.equal.to......the.number.o
40960 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d f.input.LISTS.............(-zip-
40980 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 lists-fill.0.'(1.2).'(3.4.5).'(6
409a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 36 29 20 28 32 ))...................((1.3.6).(2
409c0 20 34 20 30 29 20 28 30 20 35 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c .4.0).(0.5.0))...........(-zip-l
409e0 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 29 ists-fill.0.'(1.2).'(3.4).'(5.6)
40a00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 35 29 20 28 32 20 )...................((1.3.5).(2.
40a20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 4.6))...........(-zip-lists-fill
40a40 20 30 20 27 28 31 20 32 20 33 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .0.'(1.2.3).nil)................
40a60 87 92 20 28 28 31 20 30 29 20 28 32 20 30 29 20 28 33 20 30 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 ...((1.0).(2.0).(3.0))...--.Func
40a80 74 69 6f 6e 3a 20 2d 7a 69 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 tion:.-zip.(&rest.lists)......Zi
40aa0 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 47 72 6f 75 70 20 74 68 p.LISTS.together........Group.th
40ac0 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 e.head.of.each.list,.followed.by
40ae0 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 0a 20 20 20 20 .the.second.element.of.each.....
40b00 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 .list,.and.so.on...The.number.of
40b20 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 .returned.groupings.is.equal.to.
40b40 74 68 65 0a 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 the......length.of.the.shortest.
40b60 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 input.list,.and.the.number.of.it
40b80 65 6d 73 20 69 6e 20 65 61 63 68 0a 20 20 20 20 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 ems.in.each......grouping.is.equ
40ba0 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e al.to.the.number.of.input.LISTS.
40bc0 0a 0a 20 20 20 20 20 49 66 20 6f 6e 6c 79 20 74 77 6f 20 4c 49 53 54 53 20 61 72 65 20 70 72 6f .......If.only.two.LISTS.are.pro
40be0 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 vided.as.arguments,.return.the.g
40c00 72 6f 75 70 69 6e 67 73 0a 20 20 20 20 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 roupings......as.a.list.of.dotte
40c20 64 20 70 61 69 72 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 d.pairs...Otherwise,.return.the.
40c40 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 0a 20 20 20 20 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 groupings.as.a......list.of.prop
40c60 65 72 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e er.lists........Since.the.return
40c80 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e .value.changes.form.depending.on
40ca0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 69 .the.number.of......arguments,.i
40cc0 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 t.is.generally.recommended.to.us
40ce0 65 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d e....-zip-lists....(*note......-
40d00 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 6e 73 74 65 61 64 2c 20 6f 72 20 e2 80 98 2d 7a 69 70 zip-lists::).instead,.or....-zip
40d20 2d 70 61 69 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 70 61 69 72 3a 3a 29 20 69 66 20 -pair....(*note.-zip-pair::).if.
40d40 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 20 64 a.list......of.dotted.pairs.is.d
40d60 65 73 69 72 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 75 6e 7a 69 esired........See.also:....-unzi
40d80 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 75 6e 7a 69 70 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 p....(*note.-unzip::)...........
40da0 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 20 27 28 38 20 ..(-zip.'(1.2.3.4).'(5.6.7).'(8.
40dc0 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 35 20 38 29 20 28 9))...................((1.5.8).(
40de0 32 20 36 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 2.6.9))...........(-zip.'(1.2.3)
40e00 20 27 28 34 20 35 20 36 29 20 27 28 37 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .'(4.5.6).'(7.8.9)).............
40e20 20 20 e2 87 92 20 28 28 31 20 34 20 37 29 20 28 32 20 35 20 38 29 20 28 33 20 36 20 39 29 29 0a ......((1.4.7).(2.5.8).(3.6.9)).
40e40 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 ..........(-zip.'(1.2.3)).......
40e60 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 0a 20 2d 2d 20 46 ............((1).(2).(3))...--.F
40e80 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 unction:.-zip-fill.(fill-value.&
40ea0 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 rest.lists)......Zip.LISTS.toget
40ec0 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 her,.padding.shorter.lists.with.
40ee0 46 49 4c 4c 2d 56 41 4c 55 45 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 6c 69 6b 65 20 e2 FILL-VALUE...This.is......like..
40f00 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 28 77 68 69 63 68 20 ..-zip....(*note.-zip::).(which.
40f20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 0a 20 20 20 20 see),.except.it.retains.all.....
40f40 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 .elements.at.positions.beyond.th
40f60 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 e.end.of.the.shortest.list...The
40f80 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e ......number.of.returned.groupin
40fa0 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 gs.is.equal.to.the.length.of.the
40fc0 20 6c 6f 6e 67 65 73 74 0a 20 20 20 20 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 .longest......input.list,.and.th
40fe0 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 e.length.of.each.grouping.is.equ
41000 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 6f 66 20 69 6e 70 75 74 20 4c al.to.the.number......of.input.L
41020 49 53 54 53 2e 0a 0a 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c ISTS........Since.the.return.val
41040 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 ue.changes.form.depending.on.the
41060 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 .number.of......arguments,.it.is
41080 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 e2 80 .generally.recommended.to.use...
410a0 98 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 .-zip-lists-fill.........(*note.
410c0 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 3a 3a 29 20 69 6e 73 74 65 61 64 2c 20 75 6e 6c 65 -zip-lists-fill::).instead,.unle
410e0 73 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 0a 20 20 20 ss.a.list.of.dotted.pairs.is....
41100 20 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 73 69 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 ..explicitly.desired............
41120 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 29 29 0a 20 .(-zip-fill.0.'(1.2.3).'(4.5))..
41140 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 .................((1...4).(2...5
41160 29 20 28 33 20 2e 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 ).(3...0))...........(-zip-fill.
41180 30 20 28 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 0.().'(1.2.3))..................
411a0 20 28 28 30 20 2e 20 31 29 20 28 30 20 2e 20 32 29 20 28 30 20 2e 20 33 29 29 0a 20 20 20 20 20 .((0...1).(0...2).(0...3))......
411c0 20 20 20 20 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 .....(-zip-fill.0.'(1.2).'(3.4).
411e0 27 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 '(5.6))...................((1.3.
41200 35 29 20 28 32 20 34 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 7a 69 5).(2.4.6))...--.Function:.-unzi
41220 70 2d 6c 69 73 74 73 20 28 6c 69 73 74 73 29 0a 20 20 20 20 20 55 6e 7a 69 70 20 4c 49 53 54 53 p-lists.(lists)......Unzip.LISTS
41240 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 ........This.works.just.like....
41260 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a -zip-lists....(*note.-zip-lists:
41280 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 0a 20 20 20 20 20 62 75 74 20 74 61 6b 65 73 20 61 :).(which.see),......but.takes.a
412a0 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 .list.of.lists.instead.of.a.vari
412c0 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 able.number.of......arguments,.s
412e0 75 63 68 20 74 68 61 74 0a 0a 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 2d 7a uch.that.......(-unzip-lists.(-z
41300 69 70 2d 6c 69 73 74 73 20 41 52 47 53 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 69 73 20 69 64 65 6e ip-lists.ARGS...)).......is.iden
41320 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 63 6f 6d 70 72 tity.(given.that.the.lists.compr
41340 69 73 69 6e 67 20 41 52 47 53 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 ising.ARGS.are.of.the.same......
41360 6c 65 6e 67 74 68 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 length).............(-unzip-list
41380 73 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 s.(-zip-lists.'(1.2).'(3.4).'(5.
413a0 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 6)))...................((1.2).(3
413c0 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 .4).(5.6))...........(-unzip-lis
413e0 74 73 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 29 ts.'((1.2.3).(4.5).(6.7).(8.9)))
41400 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 34 20 36 20 38 29 20 28 32 ...................((1.4.6.8).(2
41420 20 35 20 37 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 .5.7.9))...........(-unzip-lists
41440 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .'((1.2.3).(4.5.6)))............
41460 20 20 20 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 0a 20 2d 2d 20 .......((1.4).(2.5).(3.6))...--.
41480 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 7a 69 70 20 28 6c 69 73 74 73 29 0a 20 20 20 20 20 55 6e Function:.-unzip.(lists)......Un
414a0 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 zip.LISTS........This.works.just
414c0 20 6c 69 6b 65 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 .like....-zip....(*note.-zip::).
414e0 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 0a 20 20 20 20 20 6c 69 (which.see),.but.takes.a......li
41500 73 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 6c st.of.lists.instead.of.a.variabl
41520 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 e.number.of.arguments,.such.that
41540 0a 0a 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 20 2e 2e .......(-unzip.(-zip.L1.L2.L3...
41560 2e 29 29 0a 0a 20 20 20 20 20 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 .)).......is.identity.(given.tha
41580 74 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 t.the.lists.are.of.the.same.leng
415a0 74 68 2c 20 61 6e 64 20 74 68 61 74 0a 20 20 20 20 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e th,.and.that.........-zip....(*n
415c0 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 ote.-zip::).is.not.called.with.t
415e0 77 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 62 65 63 61 75 73 65 20 6f 66 0a 20 20 20 20 20 74 68 wo.arguments,.because.of......th
41600 65 20 63 61 76 65 61 74 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 69 74 73 20 64 6f 63 73 74 72 e.caveat.described.in.its.docstr
41620 69 6e 67 29 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 ing)........Note.in.particular.t
41640 68 61 74 20 63 61 6c 6c 69 6e 67 20 e2 80 98 2d 75 6e 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 hat.calling....-unzip....(*note.
41660 2d 75 6e 7a 69 70 3a 3a 29 20 6f 6e 20 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 74 77 6f 20 -unzip::).on.a.list......of.two.
41680 6c 69 73 74 73 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 lists.will.return.a.list.of.dott
416a0 65 64 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e ed.pairs........Since.the.return
416c0 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e .value.changes.form.depending.on
416e0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 53 2c 20 69 74 20 69 73 .the.number.of......LISTS,.it.is
41700 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 e2 80 .generally.recommended.to.use...
41720 98 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 75 6e .-unzip-lists....(*note......-un
41740 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 zip-lists::).instead............
41760 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 .(-unzip.(-zip.'(1.2).'(3.4).'(5
41780 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 32 29 .6)))...................((1...2)
417a0 20 28 33 20 2e 20 34 29 20 28 35 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e .(3...4).(5...6))...........(-un
417c0 7a 69 70 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 zip.'((1.2.3).(4.5.6))).........
417e0 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 ..........((1...4).(2...5).(3...
41800 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 20 33 29 20 6))...........(-unzip.'((1.2.3).
41820 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (4.5).(6.7).(8.9))).............
41840 20 20 e2 87 92 20 28 28 31 20 34 20 36 20 38 29 20 28 32 20 35 20 37 20 39 29 29 0a 0a 20 2d 2d ......((1.4.6.8).(2.5.7.9))...--
41860 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 .Function:.-pad.(fill-value.&res
41880 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 50 61 64 20 65 61 63 68 20 6f 66 20 4c 49 53 54 53 20 t.lists)......Pad.each.of.LISTS.
418a0 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 75 6e 74 69 6c 20 74 68 65 79 20 61 6c 6c 20 68 with.FILL-VALUE.until.they.all.h
418c0 61 76 65 20 65 71 75 61 6c 0a 20 20 20 20 20 6c 65 6e 67 74 68 73 2e 0a 0a 20 20 20 20 20 45 6e ave.equal......lengths........En
418e0 73 75 72 65 20 61 6c 6c 20 4c 49 53 54 53 20 61 72 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 sure.all.LISTS.are.as.long.as.th
41900 65 20 6c 6f 6e 67 65 73 74 20 6f 6e 65 20 62 79 20 72 65 70 65 61 74 65 64 6c 79 0a 20 20 20 20 e.longest.one.by.repeatedly.....
41920 20 61 70 70 65 6e 64 69 6e 67 20 46 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 74 68 65 20 73 68 6f .appending.FILL-VALUE.to.the.sho
41940 72 74 65 72 20 6c 69 73 74 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c rter.lists,.and.return.the.resul
41960 74 69 6e 67 0a 20 20 20 20 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 ting......LISTS.............(-pa
41980 64 20 30 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a d.0.())...................(nil).
419a0 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 29 ..........(-pad.0.'(1.2).'(3.4))
419c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 29 ...................((1.2).(3.4))
419e0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 20 ...........(-pad.0.'(1.2).'(3.4.
41a00 35 20 36 29 20 27 28 37 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 5.6).'(7.8.9))..................
41a20 20 28 28 31 20 32 20 30 20 30 29 20 28 33 20 34 20 35 20 36 29 20 28 37 20 38 20 39 20 30 29 29 .((1.2.0.0).(3.4.5.6).(7.8.9.0))
41a40 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 74 ...--.Function:.-table.(fn.&rest
41a60 20 6c 69 73 74 73 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 .lists)......Compute.outer.produ
41a80 63 74 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a ct.of.LISTS.using.function.FN...
41aa0 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 .....The.function.FN.should.have
41ac0 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 .the.same.arity.as.the.number.of
41ae0 0a 20 20 20 20 20 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 ......supplied.lists........The.
41b00 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 outer.product.is.computed.by.app
41b20 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f lying.fn.to.all.possible......co
41b40 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 mbinations.created.by.taking.one
41b60 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 .element.from.each.list.in.order
41b80 2e 0a 20 20 20 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 .......The.dimension.of.the.resu
41ba0 6c 74 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 lt.is.(length.lists)........See.
41bc0 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 62 6c 65 2d 66 6c 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d also:....-table-flat....(*note.-
41be0 74 61 62 6c 65 2d 66 6c 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 table-flat::)............(-table
41c00 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 .'*.'(1.2.3).'(1.2.3))..........
41c20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 .........((1.2.3).(2.4.6).(3.6.9
41c40 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 ))...........(-table.(lambda.(a.
41c60 62 29 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 28 b).(-sum.(-zip-with.'*.a.b))).'(
41c80 28 31 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a 20 20 20 (1.2).(3.4)).'((1.3).(2.4)))....
41ca0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a ...............((7.15).(10.22)).
41cc0 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 ..........(apply.'-table.'list.(
41ce0 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -repeat.3.'(1.2)))..............
41d00 20 e2 87 92 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 31 .....((((1.1.1).(2.1.1)).((1.2.1
41d20 29 20 28 32 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 28 ).(2.2.1))).(((1.1.2).(2.1.2)).(
41d40 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e (1.2.2).(2.2.2))))...--.Function
41d60 3a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 :.-table-flat.(fn.&rest.lists)..
41d80 20 20 20 20 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f ....Compute.flat.outer.product.o
41da0 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 20 20 f.LISTS.using.function.FN.......
41dc0 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 .The.function.FN.should.have.the
41de0 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 .same.arity.as.the.number.of....
41e00 20 20 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 74 65 ..supplied.lists........The.oute
41e20 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e r.product.is.computed.by.applyin
41e40 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e g.fn.to.all.possible......combin
41e60 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 ations.created.by.taking.one.ele
41e80 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a 20 20 ment.from.each.list.in.order....
41ea0 20 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 ...The.results.are.flattened,.ig
41ec0 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 noring.the.tensor.structure.of.t
41ee0 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c he......result...This.is.equival
41f00 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d ent.to.calling:.......(-flatten-
41f20 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 e2 80 99 n.(1-.(length.lists)).(apply....
41f40 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 20 20 20 20 20 62 75 74 20 74 68 65 20 -table.fn.lists)).......but.the.
41f60 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 implementation.here.is.much.more
41f80 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d .efficient........See.also:....-
41fa0 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a flatten-n....(*note.-flatten-n::
41fc0 29 2c 20 e2 80 98 2d 74 61 62 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 61 62 ),....-table....(*note......-tab
41fe0 6c 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c le::)............(-table-flat.'l
42000 69 73 74 20 27 28 31 20 32 20 33 29 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 ist.'(1.2.3).'(a.b.c))..........
42020 20 20 20 20 20 e2 87 92 20 28 28 31 20 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 62 .........((1.a).(2.a).(3.a).(1.b
42040 29 20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 29 ).(2.b).(3.b).(1.c).(2.c).(3.c))
42060 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 ...........(-table-flat.'*.'(1.2
42080 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 .3).'(1.2.3))...................
420a0 28 31 20 32 20 33 20 32 20 34 20 36 20 33 20 36 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 (1.2.3.2.4.6.3.6.9)...........(a
420c0 70 70 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 pply.'-table-flat.'list.(-repeat
420e0 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 .3.'(1.2)))...................((
42100 31 20 31 20 31 29 20 28 32 20 31 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 1.1.1).(2.1.1).(1.2.1).(2.2.1).(
42120 31 20 31 20 32 29 20 28 32 20 31 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 1.1.2).(2.1.2).(1.2.2).(2.2.2)).
42140 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 ..--.Function:.-first.(pred.list
42160 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 )......Return.the.first.item.in.
42180 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d LIST.for.which.PRED.returns.non-
421a0 e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 ...nil..........Return....nil...
421c0 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 20 .if.no.such.element.is.found....
421e0 20 20 20 20 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 ....To.get.the.first.item.in.the
42200 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 0a 20 20 .list.no.questions.asked,.use...
42220 20 20 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 72 ......-first-item....(*note.-fir
42240 73 74 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 66 69 6e st-item::)........Alias:....-fin
42260 64 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e d...........This.function...s.an
42280 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 72 73 aphoric.counterpart.is....--firs
422a0 74 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 t................(-first.#'natnu
422c0 6d 70 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 mp.'(-1.0.1))...................
422e0 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 0...........(-first.#'null.'(1.2
42300 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 .3))...................nil......
42320 20 20 20 20 20 28 2d 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 27 28 31 20 32 20 33 29 29 .....(--first.(>.it.2).'(1.2.3))
42340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ...................3...--.Functi
42360 6f 6e 3a 20 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 on:.-last.(pred.list)......Retur
42380 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 n.the.last.x.in.LIST.where.(PRED
423a0 20 78 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 65 6c 73 65 20 e2 80 98 6e 69 .x).is.non-...nil...,.else....ni
423c0 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 l................(-last.'even?.'
423e0 28 31 20 32 20 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (1.2.3.4.5.6.3.3.3))............
42400 20 20 20 e2 87 92 20 36 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f .......6...........(-last.'even?
42420 20 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .'(1.3.7.5.9))..................
42440 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 6e 67 74 .nil...........(--last.(>.(lengt
42460 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f 72 64 22 20 22 h.it).3).'("a"."looong"."word"."
42480 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 and"."short"."one"))............
424a0 20 20 20 e2 87 92 20 22 73 68 6f 72 74 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 ......."short"...--.Function:.-f
424c0 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 irst-item.(list)......Return.the
424e0 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 .first.item.of.LIST,.or....nil..
42500 99 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c ..on.an.empty.list........See.al
42520 73 6f 3a 20 e2 80 98 2d 73 65 63 6f 6e 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 so:....-second-item....(*note.-s
42540 65 63 6f 6e 64 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 0a econd-item::),....-last-item....
42560 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a .....(*note.-last-item::),.etc..
42580 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 ...........(-first-item.()).....
425a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 ..............()...........(-fir
425c0 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 st-item.'(1.2.3.4.5))...........
425e0 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 ........1...........(let.((list.
42600 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 66 69 72 73 74 2d 69 74 65 (list.1.2.3))).(setf.(-first-ite
42620 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 m.list).5).list)................
42640 87 92 20 28 35 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 63 6f 6e ...(5.2.3)...--.Function:.-secon
42660 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 65 d-item.(list)......Return.the.se
42680 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 cond.item.of.LIST,.or....nil....
426a0 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 if.LIST.is.too.short........See.
426c0 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d also:....-first-item....(*note.-
426e0 66 69 72 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 74 68 69 72 64 2d 69 74 65 6d e2 80 99 first-item::),....-third-item...
42700 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 .(*note......-third-item::),.etc
42720 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 29 29 0a 20 .............(-second-item.())..
42740 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .................()...........(-
42760 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 second-item.'(1.2.3.4.5)).......
42780 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c ............2...........(let.((l
427a0 69 73 74 20 28 6c 69 73 74 20 31 20 32 29 29 29 20 28 73 65 74 66 20 28 2d 73 65 63 6f 6e 64 2d ist.(list.1.2))).(setf.(-second-
427c0 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 item.list).5).list).............
427e0 20 20 e2 87 92 20 28 31 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 68 69 72 ......(1.5)...--.Function:.-thir
42800 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 68 d-item.(list)......Return.the.th
42820 69 72 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 ird.item.of.LIST,.or....nil....i
42840 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 f.LIST.is.too.short........See.a
42860 6c 73 6f 3a 20 e2 80 98 2d 73 65 63 6f 6e 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d lso:....-second-item....(*note.-
42880 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 66 6f 75 72 74 68 2d 69 74 65 6d e2 second-item::),....-fourth-item.
428a0 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 3a 3a 29 2c 20 ........(*note.-fourth-item::),.
428c0 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 28 29 29 etc.............(-third-item.())
428e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 ...................()...........
42900 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (-third-item.'(1.2))............
42920 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d .......()...........(-third-item
42940 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .'(1.2.3.4.5))..................
42960 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 28 .3...--.Function:.-fourth-item.(
42980 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 list)......Return.the.fourth.ite
429a0 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 m.of.LIST,.or....nil....if.LIST.
429c0 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 is.too.short........See.also:...
429e0 98 2d 74 68 69 72 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 68 69 72 64 2d 69 74 .-third-item....(*note.-third-it
42a00 65 6d 3a 3a 29 2c 20 e2 80 98 2d 66 69 66 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 0a em::),....-fifth-item....(*note.
42a20 20 20 20 20 20 2d 66 69 66 74 68 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 .....-fifth-item::),.etc........
42a40 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 .....(-fourth-item.())..........
42a60 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 .........()...........(-fourth-i
42a80 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 tem.'(1.2.3))...................
42aa0 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 31 20 32 ()...........(-fourth-item.'(1.2
42ac0 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0a 20 2d .3.4.5))...................4...-
42ae0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 -.Function:.-fifth-item.(list)..
42b00 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 ....Return.the.fifth.item.of.LIS
42b20 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 T,.or....nil....if.LIST.is.too.s
42b40 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6f 75 72 74 68 hort........See.also:....-fourth
42b60 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 3a 3a 29 2c -item....(*note.-fourth-item::),
42b80 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 6c ....-last-item.........(*note.-l
42ba0 61 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 ast-item::),.etc.............(-f
42bc0 69 66 74 68 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ifth-item.())...................
42be0 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 ()...........(-fifth-item.'(1.2.
42c00 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 3.4))...................()......
42c20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a .....(-fifth-item.'(1.2.3.4.5)).
42c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ..................5...--.Functio
42c60 6e 3a 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e n:.-last-item.(list)......Return
42c80 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 .the.last.item.of.LIST,.or....ni
42ca0 6c e2 80 99 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 l....on.an.empty.list........See
42cc0 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 .also:....-first-item....(*note.
42ce0 2d 66 69 72 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 -first-item::),.etc.............
42d00 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 (-last-item.()).................
42d20 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 27 28 31 20 32 ..()...........(-last-item.'(1.2
42d40 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 20 20 20 .3.4.5))...................5....
42d60 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 .......(let.((list.(list.1.2.3))
42d80 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 ).(setf.(-last-item.list).5).lis
42da0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 35 29 0a 0a 20 2d t)...................(1.2.5)...-
42dc0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 73 74 29 0a 20 20 20 20 -.Function:.-butlast.(list).....
42de0 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 6c .Return.a.list.of.all.items.in.l
42e00 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 20 20 20 20 20 20 ist.except.for.the.last.........
42e20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 ....(-butlast.'(1.2.3)).........
42e40 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c ..........(1.2)...........(-butl
42e60 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 ast.'(1.2))...................(1
42e80 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 29 29 0a 20 20 20 20 )...........(-butlast.'(1)).....
42ea0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ..............nil...--.Function:
42ec0 20 2d 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 53 6f .-sort.(comparator.list)......So
42ee0 72 74 20 4c 49 53 54 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 rt.LIST,.stably,.comparing.eleme
42f00 6e 74 73 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 2e 20 20 52 65 74 75 72 6e 20 74 68 nts.using.COMPARATOR...Return.th
42f20 65 0a 20 20 20 20 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 69 73 20 4e 4f 54 e......sorted.list...LIST.is.NOT
42f40 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 43 4f 4d 50 .modified.by.side.effects...COMP
42f60 41 52 41 54 4f 52 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 65 ARATOR.is......called.with.two.e
42f80 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 75 lements.of.LIST,.and.should.retu
42fa0 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 20 20 20 74 68 65 20 66 69 72 rn.non-...nil....if......the.fir
42fc0 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f 72 65 20 74 68 st.element.should.sort.before.th
42fe0 65 20 73 65 63 6f 6e 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 23 27 3c 20 e.second.............(-sort.#'<.
43000 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 '(3.1.2))...................(1.2
43020 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 23 27 3e 20 27 28 33 20 31 20 32 .3)...........(-sort.#'>.'(3.1.2
43040 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 ))...................(3.2.1)....
43060 20 20 20 20 20 20 20 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 .......(--sort.(<.it.other).'(3.
43080 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 1.2))...................(1.2.3).
430a0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 20 20 20 20 20 ..--.Function:.-list.(arg)......
430c0 45 6e 73 75 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 20 20 49 66 20 41 52 47 20 69 73 Ensure.ARG.is.a.list...If.ARG.is
430e0 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 .already.a.list,.return.it.as.is
43100 0a 20 20 20 20 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 ......(not.a.copy)...Otherwise,.
43120 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 return.a.new.list.with.ARG.as.it
43140 73 20 6f 6e 6c 79 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 41 6e 6f 74 68 s.only......element........Anoth
43160 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 er.supported.calling.convention.
43180 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 2e 20 20 49 6e 0a 20 20 20 20 20 is.(-list.&rest.ARGS)...In......
431a0 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 41 52 47 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c this.case,.if.ARG.is.not.a.list,
431c0 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 41 52 47 53 20 61 73 0a .a.new.list.with.all.of.ARGS.as.
431e0 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 .....elements.is.returned...This
43200 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 20 62 61 63 6b 77 61 72 64 0a 20 .use.is.supported.for.backward..
43220 20 20 20 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 ....compatibility.and.is.otherwi
43240 73 65 20 64 65 70 72 65 63 61 74 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 se.deprecated.............(-list
43260 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 .1)...................(1).......
43280 20 20 20 20 28 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ....(-list.())..................
432a0 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 .()...........(-list.'(1.2.3))..
432c0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 .................(1.2.3)...--.Fu
432e0 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 6d 70 nction:.-fix.(fn.list)......Comp
43300 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 20 77 ute.the.(least).fixpoint.of.FN.w
43320 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 4e ith.initial.input.LIST........FN
43340 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 .is.called.at.least.once,.result
43360 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e s.are.compared.with....equal....
43380 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d ............(-fix.(lambda.(l).(-
433a0 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 non-nil.(--mapcat.(-split-at.(/.
433c0 28 6c 65 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 (length.it).2).it).l))).'((1.2.3
433e0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 28 )))...................((1).(2).(
43400 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 3))...........(let.((l.'((starwa
43420 72 73 20 73 63 69 66 69 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 rs.scifi).(jedi.starwars.warrior
43440 29 29 29 29 20 28 2d 2d 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f )))).(--fix.(-uniq.(--mapcat.(co
43460 6e 73 20 69 74 20 28 63 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 ns.it.(cdr.(assq.it.l))).it)).'(
43480 6a 65 64 69 20 62 6f 6f 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 jedi.book)))...................(
434a0 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b jedi.starwars.warrior.scifi.book
434c0 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 )....File:.docpgQ07Y.info,..Node
434e0 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 68 72 65 61 64 :.Tree.operations,..Next:.Thread
43500 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 50 72 65 76 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 ing.macros,..Prev:.Other.list.op
43520 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 31 20 54 erations,..Up:.Functions..2.11.T
43540 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ree.operations.=================
43560 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 ===..Functions.pretending.lists.
43580 61 72 65 20 74 72 65 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d are.trees....--.Function:.-tree-
435a0 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 20 20 20 seq.(branch.children.tree)......
435c0 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 Return.a.sequence.of.the.nodes.i
435e0 6e 20 54 52 45 45 2c 20 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 0a 20 20 n.TREE,.in.depth-first.search...
43600 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 42 52 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 ...order........BRANCH.is.a.pred
43620 69 63 61 74 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 icate.of.one.argument.that.retur
43640 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 0a 20 20 20 20 20 70 61 73 ns.non-...nil....if.the......pas
43660 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 69 sed.argument.is.a.branch,.that.i
43680 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 0a 20 20 20 20 20 63 68 69 s,.a.node.that.can.have......chi
436a0 6c 64 72 65 6e 2e 0a 0a 20 20 20 20 20 43 48 49 4c 44 52 45 4e 20 69 73 20 61 20 66 75 6e 63 74 ldren........CHILDREN.is.a.funct
436c0 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 ion.of.one.argument.that.returns
436e0 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6f 66 0a 20 20 20 20 20 74 68 65 20 70 61 73 73 65 64 .the.children.of......the.passed
43700 20 62 72 61 6e 63 68 20 6e 6f 64 65 2e 0a 0a 20 20 20 20 20 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e .branch.node........Non-branch.n
43720 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 6f 70 69 65 64 2e 0a 0a 20 20 20 20 20 20 20 odes.are.simply.copied..........
43740 20 20 20 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 69 64 65 6e 74 69 74 79 20 27 ...(-tree-seq.'listp.'identity.'
43760 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 (1.(2.3).4.(5.(6.7))))..........
43780 20 20 20 20 20 e2 87 92 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 .........((1.(2.3).4.(5.(6.7))).
437a0 31 20 28 32 20 33 29 20 32 20 33 20 34 20 28 35 20 28 36 20 37 29 29 20 35 20 28 36 20 37 29 20 1.(2.3).2.3.4.(5.(6.7)).5.(6.7).
437c0 36 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 6.7)...........(-tree-seq.'listp
437e0 20 27 72 65 76 65 72 73 65 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 .'reverse.'(1.(2.3).4.(5.(6.7)))
43800 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 28 32 20 33 29 20 34 20 )...................((1.(2.3).4.
43820 28 35 20 28 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 20 28 36 20 37 29 20 37 20 36 20 35 (5.(6.7))).(5.(6.7)).(6.7).7.6.5
43840 20 34 20 28 32 20 33 29 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 .4.(2.3).3.2.1)...........(--tre
43860 65 2d 73 65 71 20 28 76 65 63 74 6f 72 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 6e 69 e-seq.(vectorp.it).(append.it.ni
43880 6c 29 20 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 0a 20 20 20 20 20 20 l).[1.[2.3].4.[5.[6.7]]]).......
438a0 20 20 20 20 20 20 20 20 e2 87 92 20 28 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d ............([1.[2.3].4.[5.[6.7]
438c0 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 33 20 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 ]].1.[2.3].2.3.4.[5.[6.7]].5.[6.
438e0 37 5d 20 36 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 7].6.7)...--.Function:.-tree-map
43900 20 28 66 6e 20 74 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 .(fn.tree)......Apply.FN.to.each
43920 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e .element.of.TREE.while.preservin
43940 67 20 74 68 65 20 74 72 65 65 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 2e 0a 0a 20 20 20 20 g.the.tree......structure.......
43960 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 20 28 32 20 33 29 20 28 ......(-tree-map.'1+.'(1.(2.3).(
43980 34 20 28 35 20 36 29 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 4.(5.6).7)))...................(
439a0 32 20 28 33 20 34 29 20 28 35 20 28 36 20 37 29 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2.(3.4).(5.(6.7).8))...........(
439c0 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 78 20 28 -tree-map.'(lambda.(x).(cons.x.(
439e0 65 78 70 74 20 32 20 78 29 29 29 20 27 28 31 20 28 32 20 33 29 20 34 29 29 0a 20 20 20 20 20 20 expt.2.x))).'(1.(2.3).4)).......
43a00 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 32 29 20 28 28 32 20 2e 20 34 29 20 28 33 ............((1...2).((2...4).(3
43a20 20 2e 20 38 29 29 20 28 34 20 2e 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 ...8)).(4...16))...........(--tr
43a40 65 65 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 ee-map.(length.it).'("<body>".("
43a60 3c 70 3e 22 20 22 74 65 78 74 22 20 22 3c 2f 70 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 0a <p>"."text"."</p>")."</body>")).
43a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a ..................(6.(3.4.4).7).
43aa0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 ..--.Function:.-tree-map-nodes.(
43ac0 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 55 4e 20 6f 6e 20 pred.fun.tree)......Call.FUN.on.
43ae0 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 54 52 45 45 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 each.node.of.TREE.that.satisfies
43b00 20 50 52 45 44 2e 0a 0a 20 20 20 20 20 49 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 98 .PRED........If.PRED.returns....
43b20 6e 69 6c e2 80 99 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 20 64 6f 77 6e nil...,.continue.descending.down
43b40 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 0a 20 20 20 20 20 72 65 74 75 72 6e .this.node...If.PRED......return
43b60 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 68 s.non-...nil...,.apply.FUN.to.th
43b80 69 73 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 20 20 20 20 20 is.node.and.do.not.descend......
43ba0 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 2d 6e further.............(-tree-map-n
43bc0 6f 64 65 73 20 27 76 65 63 74 6f 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d 20 odes.'vectorp.(lambda.(x).(-sum.
43be0 28 61 70 70 65 6e 64 20 78 20 6e 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 20 (append.x.nil))).'(1.[2.3].4.(5.
43c00 5b 36 20 37 5d 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 [6.7].8)))...................(1.
43c20 35 20 34 20 28 35 20 31 33 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 5.4.(5.13.8))...........(-tree-m
43c40 61 70 2d 6e 6f 64 65 73 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ap-nodes.'keywordp.(lambda.(x).(
43c60 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 36 symbol-name.x)).'(1.:foo.4.((5.6
43c80 20 3a 62 61 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .:bar).:baz.8)))................
43ca0 87 92 20 28 31 20 22 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a 62 ...(1.":foo".4.((5.6.":bar").":b
43cc0 61 7a 22 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f az".8))...........(--tree-map-no
43ce0 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 61 64 64 2d 6d 6f 64 65 29 des.(eq.(car-safe.it).'add-mode)
43d00 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 65 20 27 65 6d 61 63 73 2d .(-concat.it.(list.:mode.'emacs-
43d20 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 lisp-mode)).'(with-mode.emacs-li
43d40 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 29 sp-mode.(foo.bar).(add-mode.a.b)
43d60 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 .(baz.(add-mode.c.d)))).........
43d80 20 20 20 20 20 20 e2 87 92 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d ..........(with-mode.emacs-lisp-
43da0 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d 6f mode.(foo.bar).(add-mode.a.b.:mo
43dc0 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f de.emacs-lisp-mode).(baz.(add-mo
43de0 64 65 20 63 20 64 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a de.c.d.:mode.emacs-lisp-mode))).
43e00 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 ..--.Function:.-tree-reduce.(fn.
43e20 74 72 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d tree)......Use.FN.to.reduce.elem
43e40 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 ents.of.list.TREE...If.elements.
43e60 6f 66 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 of.TREE.are......lists.themselve
43e80 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 s,.apply.the.reduction.recursive
43ea0 6c 79 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f ly........FN.is.first.applied.to
43ec0 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 .first.element.of.the.list.and.s
43ee0 65 63 6f 6e 64 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 econd......element,.then.on.this
43f00 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 .result.and.third.element.from.t
43f20 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 he.list.etc........See....-reduc
43f40 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 20 66 6f 72 20 68 e-r....(*note.-reduce-r::).for.h
43f60 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 0a 20 20 20 20 20 7a 65 72 ow.exactly.are.lists.of......zer
43f80 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 64 2e 0a 0a 20 20 20 20 20 o.or.one.element.handled........
43fa0 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 .....(-tree-reduce.'+.'(1.(2.3).
43fc0 28 34 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 (4.5)))...................15....
43fe0 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 22 .......(-tree-reduce.'concat.'("
44000 73 74 72 69 6e 67 73 22 20 28 22 20 6f 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 20 strings".(".on".".various").((".
44020 6c 65 76 65 6c 73 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 73 levels"))))..................."s
44040 74 72 69 6e 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 20 20 20 20 20 20 trings.on.various.levels".......
44060 20 20 20 20 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e ....(--tree-reduce.(cond.((strin
44080 67 70 20 69 74 29 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 28 gp.it).(concat.it.".".acc)).(t.(
440a0 6c 65 74 20 28 28 73 6e 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f 6e let.((sn.(symbol-name.it))).(con
440c0 63 61 74 20 22 3c 22 20 73 6e 20 22 3e 22 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 29 cat."<".sn.">".acc."</".sn.">"))
440e0 29 29 20 27 28 62 6f 64 79 20 28 70 20 22 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 20 )).'(body.(p."some.words").(div.
44100 22 6d 6f 72 65 22 20 28 62 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 20 "more".(b."bold")."words")))....
44120 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 6f ..............."<body><p>some.wo
44140 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 6f rds</p>.<div>more.<b>bold</b>.wo
44160 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a rds</div></body>"...--.Function:
44180 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d 76 61 6c 75 .-tree-reduce-from.(fn.init-valu
441a0 65 20 74 72 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c e.tree)......Use.FN.to.reduce.el
441c0 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e 74 ements.of.list.TREE...If.element
441e0 73 20 6f 66 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c s.of.TREE.are......lists.themsel
44200 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 ves,.apply.the.reduction.recursi
44220 76 65 6c 79 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 vely........FN.is.first.applied.
44240 74 6f 20 49 4e 49 54 2d 56 41 4c 55 45 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 to.INIT-VALUE.and.first.element.
44260 6f 66 20 74 68 65 20 6c 69 73 74 2c 0a 20 20 20 20 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 of.the.list,......then.on.this.r
44280 65 73 75 6c 74 20 61 6e 64 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 esult.and.second.element.from.th
442a0 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 e.list.etc........The.initial.va
442c0 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 lue.is.ignored.on.cons.pairs.as.
442e0 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 20 74 77 6f 20 65 6c 65 they.always.contain......two.ele
44300 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d ments.............(-tree-reduce-
44320 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 20 from.'+.1.'(1.(1.1).((1)))).....
44340 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 ..............8...........(--tre
44360 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 e-reduce-from.(-concat.acc.(list
44380 20 69 74 29 29 20 6e 69 6c 20 27 28 31 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 .it)).nil.'(1.(2.3.(4.5)).(6.7))
443a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 36 29 20 28 28 35 20 34 )...................((7.6).((5.4
443c0 29 20 33 20 32 29 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d ).3.2).1)...--.Function:.-tree-m
443e0 61 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 20 20 20 41 apreduce.(fn.folder.tree)......A
44400 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 2c pply.FN.to.each.element.of.TREE,
44420 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e .and.make.a.list.of.the.results.
44440 0a 20 20 20 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 ......If.elements.of.TREE.are.li
44460 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 69 sts.themselves,.apply.FN.recursi
44480 76 65 6c 79 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e vely.to......elements.of.these.n
444a0 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 6e 20 72 65 64 75 63 65 20 74 ested.lists........Then.reduce.t
444c0 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 he.resulting.lists.using.FOLDER.
444e0 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 49 4e 49 54 2d 56 41 4c 55 and.initial.value......INIT-VALU
44500 45 2e 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e E...See....-reduce-r-from....(*n
44520 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 69 ote.-reduce-r-from::)........Thi
44540 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 e2 80 98 2d 74 72 65 s.is.the.same.as.calling....-tre
44560 65 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 72 65 64 75 63 65 3a e-reduce....(*note.-tree-reduce:
44580 3a 29 0a 20 20 20 20 20 61 66 74 65 72 20 e2 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 2a :)......after....-tree-map....(*
445a0 6e 6f 74 65 20 2d 74 72 65 65 2d 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 20 74 77 69 63 65 20 61 note.-tree-map::).but.is.twice.a
445c0 73 20 66 61 73 74 20 61 73 20 69 74 0a 20 20 20 20 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 s.fast.as.it......only.traverse.
445e0 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 the.structure.once.............(
44600 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 70 70 65 6e 64 20 27 28 -tree-mapreduce.'list.'append.'(
44620 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 20 1.(2.(3.4).(5.6)).(7.(8.9))))...
44640 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 ................(1.2.3.4.5.6.7.8
44660 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 .9)...........(--tree-mapreduce.
44680 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 1.(+.it.acc).'(1.(2.(4.9).(2.1))
446a0 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 39 .(7.(4.3))))...................9
446c0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 ...........(--tree-mapreduce.0.(
446e0 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 29 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 max.acc.(1+.it)).'(1.(2.(4.9).(2
44700 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .1)).(7.(4.3))))................
44720 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 ...3...--.Function:.-tree-mapred
44740 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 uce-from.(fn.folder.init-value.t
44760 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 ree)......Apply.FN.to.each.eleme
44780 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 nt.of.TREE,.and.make.a.list.of.t
447a0 68 65 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 he.results.......If.elements.of.
447c0 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 TREE.are.lists.themselves,.apply
447e0 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 .FN.recursively.to......elements
44800 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 .of.these.nested.lists........Th
44820 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 en.reduce.the.resulting.lists.us
44840 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 20 20 20 ing.FOLDER.and.initial.value....
44860 20 20 49 4e 49 54 2d 56 41 4c 55 45 2e 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d ..INIT-VALUE...See....-reduce-r-
44880 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 from....(*note.-reduce-r-from::)
448a0 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c ........This.is.the.same.as.call
448c0 69 6e 67 20 e2 80 98 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f ing....-tree-reduce-from....(*no
448e0 74 65 0a 20 20 20 20 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 66 74 te......-tree-reduce-from::).aft
44900 65 72 20 e2 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 2d er....-tree-map....(*note.-tree-
44920 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 0a 20 20 20 20 20 74 77 69 63 65 20 61 73 20 66 61 73 74 map::).but.is......twice.as.fast
44940 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 .as.it.only.traverse.the.structu
44960 72 65 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 72 65 re.once.............(-tree-mapre
44980 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a 20 31 20 27 28 31 20 28 32 20 duce-from.'identity.'*.1.'(1.(2.
449a0 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 20 20 20 20 20 20 (3.4).(5.6)).(7.(8.9))))........
449c0 20 20 20 20 20 20 20 e2 87 92 20 33 36 32 38 38 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 ...........362880...........(--t
449e0 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f ree-mapreduce-from.(+.it.it).(co
44a00 6e 73 20 69 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 ns.it.acc).nil.'(1.(2.(4.9).(2.1
44a20 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 )).(7.(4.3))))..................
44a40 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 31 34 20 28 38 20 36 29 29 29 .(2.(4.(8.18).(4.2)).(14.(8.6)))
44a60 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 2d 2d 74 72 65 65 2d 6d ...........(concat."{".(--tree-m
44a80 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 apreduce-from.(cond.((-cons-pair
44aa0 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 ?.it).(concat.(symbol-name.(car.
44ac0 69 74 29 29 20 22 20 2d 3e 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 74 it)).".->.".(symbol-name.(cdr.it
44ae0 29 29 29 29 20 28 74 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 )))).(t.(concat.(symbol-name.it)
44b00 20 22 20 3a 20 7b 22 29 29 29 20 28 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 6f .".:.{"))).(concat.it.(unless.(o
44b20 72 20 28 65 71 75 61 6c 20 61 63 63 20 22 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 72 r.(equal.acc."}").(equal.(substr
44b40 69 6e 67 20 69 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 7b 22 29 29 20 22 ing.it.(1-.(length.it)))."{"))."
44b60 2c 20 22 29 20 61 63 63 29 20 22 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f ,.").acc)."}".'((elisp-mode.(foo
44b80 20 28 62 61 72 20 2e 20 62 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 75 78 29 29 20 28 63 2d .(bar...booze)).(baz...qux)).(c-
44ba0 6d 6f 64 65 20 28 66 6f 6f 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 62 61 6d 29 29 29 29 29 mode.(foo...bla).(bum...bam)))))
44bc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 ..................."{elisp-mode.
44be0 3a 20 7b 66 6f 6f 20 3a 20 7b 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 7d 2c 20 62 61 7a 20 2d 3e 20 :.{foo.:.{bar.->.booze},.baz.->.
44c00 71 75 78 7d 2c 20 63 2d 6d 6f 64 65 20 3a 20 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 qux},.c-mode.:.{foo.->.bla,.bum.
44c20 2d 3e 20 62 61 6d 7d 7d 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6c 6f 6e 65 20 ->.bam}}"...--.Function:.-clone.
44c40 28 6c 69 73 74 29 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f (list)......Create.a.deep.copy.o
44c60 66 20 4c 49 53 54 2e 20 20 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 f.LIST...The.new.list.has.the.sa
44c80 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 62 me.elements.and......structure.b
44ca0 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e 65 ut.all.cons.are.replaced.with.ne
44cc0 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 0a 20 20 20 20 20 77 68 65 w.ones...This.is.useful......whe
44ce0 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 20 73 74 72 75 63 74 75 72 65 20 n.you.need.to.clone.a.structure.
44d00 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 such.as.plist.or.alist..........
44d20 20 20 20 28 6c 65 74 2a 20 28 28 61 20 28 6c 69 73 74 20 28 6c 69 73 74 20 31 29 29 29 20 28 62 ...(let*.((a.(list.(list.1))).(b
44d40 20 28 2d 63 6c 6f 6e 65 20 61 29 29 29 20 28 73 65 74 63 61 72 20 28 63 61 72 20 61 29 20 32 29 .(-clone.a))).(setcar.(car.a).2)
44d60 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 29 0a 0a 1f 0a 46 .b)...................((1))....F
44d80 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 68 72 65 ile:.docpgQ07Y.info,..Node:.Thre
44da0 61 64 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 4e 65 78 74 3a 20 42 69 6e 64 69 6e 67 2c 20 20 50 ading.macros,..Next:.Binding,..P
44dc0 72 65 76 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 rev:.Tree.operations,..Up:.Funct
44de0 69 6f 6e 73 0a 0a 32 2e 31 32 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 3d 3d 3d 3d ions..2.12.Threading.macros.====
44e00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 =================..Macros.that.c
44e20 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 onditionally.combine.sequential.
44e40 66 6f 72 6d 73 20 66 6f 72 20 62 72 65 76 69 74 79 20 6f 72 0a 72 65 61 64 61 62 69 6c 69 74 79 forms.for.brevity.or.readability
44e60 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f ....--.Macro:.->.(x.&optional.fo
44e80 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 rm.&rest.more)......Thread.the.e
44ea0 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 xpr.through.the.forms...Insert.X
44ec0 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 .as.the.second.item.in......the.
44ee0 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 first.form,.making.a.list.of.it.
44f00 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 if.it.is.not.a.list.already.....
44f20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 ..If.there.are.more.forms,.inser
44f40 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 t.the.first.form.as.the.second.i
44f60 74 65 6d 0a 20 20 20 20 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 tem......in.second.form,.etc....
44f80 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 .........(->.'(2.3.5))..........
44fa0 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 .........(2.3.5)...........(->.'
44fc0 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 20 20 (2.3.5).(append.'(8.13))).......
44fe0 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 20 38 20 31 33 29 0a 20 20 20 20 20 20 20 ............(2.3.5.8.13)........
45000 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 ...(->.'(2.3.5).(append.'(8.13))
45020 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 .(-slice.1.-1)).................
45040 92 20 28 33 20 35 20 38 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 3e 3e 20 28 78 20 26 6f 70 ..(3.5.8)...--.Macro:.->>.(x.&op
45060 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 54 68 72 tional.form.&rest.more)......Thr
45080 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 ead.the.expr.through.the.forms..
450a0 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 .Insert.X.as.the.last.item.in...
450c0 20 20 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 ...the.first.form,.making.a.list
450e0 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 20 61 6c 72 65 61 .of.it.if.it.is.not.a.list.alrea
45100 64 79 2e 0a 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 dy.......If.there.are.more.forms
45120 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 20 6c ,.insert.the.first.form.as.the.l
45140 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 ast.item.in......second.form,.et
45160 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 c.............(->>.'(1.2.3).(-ma
45180 70 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 p.'square))...................(1
451a0 20 34 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d .4.9)...........(->>.'(1.2.3).(-
451c0 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 0a 20 map.'square).(-remove.'even?))..
451e0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 39 29 0a 20 20 20 20 20 20 20 20 20 .................(1.9)..........
45200 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d .(->>.'(1.2.3).(-map.'square).(-
45220 72 65 64 75 63 65 20 27 2b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 34 reduce.'+))...................14
45240 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 2d 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 ...--.Macro:.-->.(x.&rest.forms)
45260 0a 20 20 20 20 20 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 ......Starting.with.the.value.of
45280 20 58 2c 20 74 68 72 65 61 64 20 65 61 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 .X,.thread.each.expression.throu
452a0 67 68 20 46 4f 52 4d 53 2e 0a 0a 20 20 20 20 20 49 6e 73 65 72 74 20 58 20 61 74 20 74 68 65 20 gh.FORMS........Insert.X.at.the.
452c0 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c position.signified.by.the.symbol
452e0 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 66 6f 72 6d ....it....in.the.first......form
45300 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 ...If.there.are.more.forms,.inse
45320 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 0a 20 20 20 20 20 70 6f rt.the.first.form.at.the......po
45340 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 20 62 79 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 sition.signified.by....it....in.
45360 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 the.second.form,.etc............
45380 20 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 .(-->."def".(concat."abc".it."gh
453a0 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 i"))..................."abcdefgh
453c0 69 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 i"...........(-->."def".(concat.
453e0 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 0a 20 20 20 "abc".it."ghi").(upcase.it))....
45400 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 41 42 43 44 45 46 47 48 49 22 0a 20 20 20 20 20 ..............."ABCDEFGHI"......
45420 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 .....(-->."def".(concat."abc".it
45440 20 22 67 68 69 22 29 20 75 70 63 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 ."ghi").upcase).................
45460 92 20 22 41 42 43 44 45 46 47 48 49 22 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 61 73 2d 3e 20 .."ABCDEFGHI"...--.Macro:.-as->.
45480 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 (value.variable.&rest.forms)....
454a0 20 20 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 56 41 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 ..Starting.with.VALUE,.thread.VA
454c0 52 49 41 42 4c 45 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 20 20 20 20 20 49 6e 20 74 RIABLE.through.FORMS........In.t
454e0 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 6f 20 he.first.form,.bind.VARIABLE.to.
45500 56 41 4c 55 45 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 0a 20 20 20 20 VALUE...In.the.second.form,.....
45520 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 .bind.VARIABLE.to.the.result.of.
45540 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 20 the.first.form,.and.so.forth....
45560 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 2d .........(-as->.3.my-var.(1+.my-
45580 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 var).(list.my-var).(mapcar.(lamb
455a0 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 0a 20 20 20 da.(ele).(*.2.ele)).my-var))....
455c0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 ...............(8)...........(-a
455e0 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 s->.3.my-var.1+)................
45600 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 0a ...4...........(-as->.3.my-var).
45620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 ..................3...--.Macro:.
45640 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 -some->.(x.&optional.form.&rest.
45660 6d 6f 72 65 29 0a 20 20 20 20 20 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d e2 80 98 6e more)......When.expr.is.non-...n
45680 69 6c e2 80 99 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 il...,.thread.it.through.the.fir
456a0 73 74 20 66 6f 72 6d 20 28 76 69 61 20 e2 80 98 2d 3e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 st.form.(via....->.........(*not
456c0 65 20 2d 3e 3a 3a 29 29 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 e.->::)),.and.when.that.result.i
456e0 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 s.non-...nil...,.through.the.nex
45700 74 0a 20 20 20 20 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 t......form,.etc.............(-s
45720 6f 6d 65 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 ome->.'(2.3.5)).................
45740 92 20 28 32 20 33 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 35 20 73 ..(2.3.5)...........(-some->.5.s
45760 71 75 61 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 35 0a 20 20 20 20 quare)...................25.....
45780 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 73 71 75 61 72 65 29 0a 20 ......(-some->.5.even?.square)..
457a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a .................nil...--.Macro:
457c0 20 2d 73 6f 6d 65 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 .-some->>.(x.&optional.form.&res
457e0 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d e2 80 t.more)......When.expr.is.non-..
45800 98 6e 69 6c e2 80 99 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 .nil...,.thread.it.through.the.f
45820 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 e2 80 98 2d 3e 3e e2 80 99 0a 20 20 20 20 20 28 2a irst.form.(via....->>.........(*
45840 6e 6f 74 65 20 2d 3e 3e 3a 3a 29 29 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 note.->>::)),.and.when.that.resu
45860 6c 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 72 6f 75 67 68 20 74 68 65 lt.is.non-...nil...,.through.the
45880 20 6e 65 78 74 0a 20 20 20 20 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 .next......form,.etc............
458a0 20 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 .(-some->>.'(1.2.3).(-map.'squar
458c0 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 29 0a 20 20 e))...................(1.4.9)...
458e0 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 33 20 35 29 20 28 2d 6c 61 73 ........(-some->>.'(1.3.5).(-las
45900 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t.'even?).(+.100))..............
45920 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 .....nil...........(-some->>.'(2
45940 20 34 20 36 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 .4.6).(-last.'even?).(+.100))...
45960 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 30 36 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 ................106...--.Macro:.
45980 2d 73 6f 6d 65 2d 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 -some-->.(expr.&rest.forms).....
459a0 20 54 68 72 65 61 64 20 45 58 50 52 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 20 76 69 61 20 e2 .Thread.EXPR.through.FORMS.via..
459c0 80 98 2d 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 2d 3e 3a 3a 29 2c 20 77 68 69 6c 65 20 74 68 ..-->....(*note.-->::),.while.th
459e0 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 e.result......is.non-...nil.....
45a00 20 57 68 65 6e 20 45 58 50 52 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e .When.EXPR.evaluates.to.non-...n
45a20 69 6c e2 80 99 2c 20 74 68 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 74 68 il...,.thread.the.result......th
45a40 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 6f 66 20 46 4f 52 4d 53 2c 20 61 6e 64 20 77 68 rough.the.first.of.FORMS,.and.wh
45a60 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c en.that.result.is.non-...nil...,
45a80 0a 20 20 20 20 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 ......thread.it.through.the.next
45aa0 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e .form,.etc.............(-some-->
45ac0 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a ."def".(concat."abc".it."ghi")).
45ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 69 22 0a 20 20 .................."abcdefghi"...
45b00 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 ........(-some-->.nil.(concat."a
45b20 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 bc".it."ghi"))..................
45b40 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 30 20 31 29 20 .nil...........(-some-->.'(0.1).
45b60 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 (-remove.#'natnump.it).(append.i
45b80 74 20 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 t.it).(-map.#'1+.it))...........
45ba0 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 64 6f 74 6f 20 28 69 6e ........()...--.Macro:.-doto.(in
45bc0 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 45 76 61 6c 75 61 74 65 20 49 4e it.&rest.forms)......Evaluate.IN
45be0 49 54 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 46 4f IT.and.pass.it.as.argument.to.FO
45c00 52 4d 53 20 77 69 74 68 20 e2 80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 3e RMS.with....->....(*note......->
45c20 3a 3a 29 2e 20 20 54 68 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 49 ::)...The.RESULT.of.evaluating.I
45c40 4e 49 54 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 0a NIT.is.threaded.through.each.of.
45c60 20 20 20 20 20 46 4f 52 4d 53 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 e2 80 .....FORMS.individually.using...
45c80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 3e 3a 3a 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 .->....(*note.->::),.which.see..
45ca0 20 54 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 52 45 53 55 4c 54 .The.return......value.is.RESULT
45cc0 2c 20 77 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 20 ,.which.FORMS.may.have.modified.
45ce0 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 6f 74 by.side.effect.............(-dot
45d00 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 20 20 20 20 20 20 20 o.(list.1.2.3).pop.pop).........
45d20 20 20 20 20 20 20 e2 87 92 20 28 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 6f 74 6f 20 28 ..........(3)...........(-doto.(
45d40 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 28 73 65 74 63 64 72 20 34 29 29 cons.1.2).(setcar.3).(setcdr.4))
45d60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 2e 20 34 29 0a 20 20 20 20 20 ...................(3...4)......
45d80 20 20 20 20 20 28 67 65 74 68 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 6d 61 6b 65 2d 68 .....(gethash.'k.(--doto.(make-h
45da0 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 69 74 29 29 29 0a ash-table).(puthash.'k.'v.it))).
45dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 76 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 ..................v....File:.doc
45de0 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 69 6e 64 69 6e 67 2c 20 20 4e 65 pgQ07Y.info,..Node:.Binding,..Ne
45e00 78 74 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 50 72 65 76 3a 20 54 68 72 65 61 64 69 xt:.Side.effects,..Prev:.Threadi
45e20 6e 67 20 6d 61 63 72 6f 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 33 20 ng.macros,..Up:.Functions..2.13.
45e40 42 69 6e 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 Binding.============..Macros.tha
45e60 74 20 63 6f 6d 62 69 6e 65 20 e2 80 98 6c 65 74 e2 80 99 20 61 6e 64 20 e2 80 98 6c 65 74 2a e2 t.combine....let....and....let*.
45e80 80 99 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 0a 63 ...with.destructuring.and.flow.c
45ea0 6f 6e 74 72 6f 6c 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 77 68 65 6e 2d 6c 65 74 20 28 28 ontrol....--.Macro:.-when-let.((
45ec0 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 49 66 20 56 41 4c var.val).&rest.body)......If.VAL
45ee0 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 62 69 6e .evaluates.to.non-...nil...,.bin
45f00 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a 20 d.it.to.VAR.and.execute.body....
45f20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 ....Note:.binding.is.done.accord
45f40 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 ing.to....-let....(*note.-let::)
45f60 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 .............(-when-let.(match-i
45f80 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 64 22 29 29 20 ndex.(string-match."d"."abcd")).
45fa0 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (+.match-index.2))..............
45fc0 20 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 .....5...........(-when-let.((&p
45fe0 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 list.:foo.foo).(list.:foo."foo")
46000 29 20 66 6f 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 6f 6f 22 0a 20 ).foo)..................."foo"..
46020 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f .........(-when-let.((&plist.:fo
46040 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 72 22 29 29 20 66 6f 6f 29 0a 20 o.foo).(list.:bar."bar")).foo)..
46060 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a .................nil...--.Macro:
46080 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 .-when-let*.(vars-vals.&rest.bod
460a0 79 29 0a 20 20 20 20 20 49 66 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 y)......If.all.VALS.evaluate.to.
460c0 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 true,.bind.them.to.their.corresp
460e0 6f 6e 64 69 6e 67 20 56 41 52 53 0a 20 20 20 20 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 onding.VARS......and.execute.bod
46100 79 2e 20 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f y...VARS-VALS.should.be.a.list.o
46120 66 20 28 56 41 52 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 f.(VAR.VAL).pairs........Note:.b
46140 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d inding.is.done.according.to....-
46160 6c 65 74 2a e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 2a 3a 3a 29 2e 20 20 56 41 4c 53 0a 20 let*....(*note.-let*::)...VALS..
46180 20 20 20 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 ....are.evaluated.sequentially,.
461a0 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 and.evaluation.stops.after.the.f
461c0 69 72 73 74 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 56 41 4c 20 69 73 20 65 6e 63 6f 75 irst.........nil....VAL.is.encou
461e0 6e 74 65 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 ntered.............(-when-let*.(
46200 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 28 2b 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 (x.5).(y.3).(z.(+.y.4))).(+.x.y.
46220 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 20 20 20 20 z))...................15........
46240 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a ...(-when-let*.((x.5).(y.nil).(z
46260 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 .7)).(+.x.y.z)).................
46280 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 69 66 2d 6c 65 74 20 28 28 76 61 72 20 ..nil...--.Macro:.-if-let.((var.
462a0 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 56 41 val).then.&rest.else)......If.VA
462c0 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 62 69 L.evaluates.to.non-...nil...,.bi
462e0 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 0a 20 20 20 20 20 6f nd.it.to.VAR.and.do.THEN,......o
46300 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 therwise.do.ELSE........Note:.bi
46320 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c nding.is.done.according.to....-l
46340 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 et....(*note.-let::)............
46360 20 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d .(-if-let.(match-index.(string-m
46380 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 atch."d"."abc")).(+.match-index.
463a0 33 29 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 37 0a 20 20 20 20 20 20 3).7)...................7.......
463c0 20 20 20 20 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a ....(--if-let.(even?.4).it.nil).
463e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 ..................t...--.Macro:.
46400 2d 69 66 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 -if-let*.(vars-vals.then.&rest.e
46420 6c 73 65 29 0a 20 20 20 20 20 49 66 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 lse)......If.all.VALS.evaluate.t
46440 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 o.true,.bind.them.to.their.corre
46460 73 70 6f 6e 64 69 6e 67 20 56 41 52 53 0a 20 20 20 20 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 sponding.VARS......and.do.THEN,.
46480 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 20 20 56 41 52 53 2d 56 41 4c 53 20 73 68 otherwise.do.ELSE...VARS-VALS.sh
464a0 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 56 41 52 0a 20 20 20 20 20 56 41 4c 29 ould.be.a.list.of.(VAR......VAL)
464c0 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 .pairs........Note:.binding.is.d
464e0 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 2a e2 80 99 20 28 2a 6e one.according.to....-let*....(*n
46500 6f 74 65 20 2d 6c 65 74 2a 3a 3a 29 2e 20 20 56 41 4c 53 0a 20 20 20 20 20 61 72 65 20 65 76 61 ote.-let*::)...VALS......are.eva
46520 6c 75 61 74 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 luated.sequentially,.and.evaluat
46540 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 e2 ion.stops.after.the.first.......
46560 80 98 6e 69 6c e2 80 99 20 56 41 4c 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 20 20 ..nil....VAL.is.encountered.....
46580 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 ........(-if-let*.((x.5).(y.3).(
465a0 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 z.7)).(+.x.y.z)."foo")..........
465c0 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 2a 20 .........15...........(-if-let*.
465e0 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 ((x.5).(y.nil).(z.7)).(+.x.y.z).
46600 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 6f 6f 22 0a 20 "foo")..................."foo"..
46620 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 5f 20 78 29 20 27 28 6e .........(-if-let*.(((_._.x).'(n
46640 69 6c 20 6e 69 6c 20 37 29 29 29 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 il.nil.7))).x)..................
46660 20 37 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 65 74 20 28 76 61 72 6c 69 73 74 20 26 72 65 .7...--.Macro:.-let.(varlist.&re
46680 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 st.body)......Bind.variables.acc
466a0 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 59 ording.to.VARLIST.then.eval.BODY
466c0 2e 0a 0a 20 20 20 20 20 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 ........VARLIST.is.a.list.of.lis
466e0 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e ts.of.the.form.(PATTERN.SOURCE).
46700 20 20 45 61 63 68 0a 20 20 20 20 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 ..Each......PATTERN.is.matched.a
46720 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 22 73 74 72 75 63 74 75 72 61 6c 6c 79 22 gainst.the.SOURCE."structurally"
46740 2e 20 20 53 4f 55 52 43 45 20 69 73 0a 20 20 20 20 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 ...SOURCE.is......only.evaluated
46760 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e 20 20 45 61 63 68 20 50 41 .once.for.each.PATTERN...Each.PA
46780 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 0a 20 20 20 20 20 72 65 63 75 72 73 69 76 65 6c TTERN.is.matched......recursivel
467a0 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e 20 73 75 62 y,.and.can.therefore.contain.sub
467c0 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 20 61 72 65 0a 20 20 20 20 20 6d 61 74 63 68 65 64 -patterns.which.are......matched
467e0 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 .against.corresponding.sub-expre
46800 73 73 69 6f 6e 73 20 6f 66 20 53 4f 55 52 43 45 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 74 68 65 20 ssions.of.SOURCE........All.the.
46820 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 73 SOURCEs.are.evalled.before.any.s
46840 79 6d 62 6f 6c 73 20 61 72 65 20 62 6f 75 6e 64 20 28 69 2e 65 2e 20 20 22 69 6e 0a 20 20 20 20 ymbols.are.bound.(i.e..."in.....
46860 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 20 20 20 20 20 49 66 20 56 41 52 4c 49 53 54 20 6f 6e .parallel")........If.VARLIST.on
46880 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 ly.contains.one.(PATTERN.SOURCE)
468a0 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 6c .element,.you.can......optionall
468c0 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f 72 20 61 6e 64 20 y.specify.it.using.a.vector.and.
468e0 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 20 6f 75 74 65 72 2d 6d 6f 73 74 0a 20 20 20 20 20 70 discarding.the.outer-most......p
46900 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 20 20 20 28 2d 6c 65 74 20 28 28 50 41 54 54 45 arens...Thus.......(-let.((PATTE
46920 52 4e 20 53 4f 55 52 43 45 29 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 62 65 63 6f 6d 65 73 0a 0a RN.SOURCE))....).......becomes..
46940 20 20 20 20 20 28 2d 6c 65 74 20 5b 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 5d 20 2e 2e 2e 29 .....(-let.[PATTERN.SOURCE]....)
46960 2e 0a 0a 20 20 20 20 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a ...........-let....(*note.-let::
46980 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 ).uses.a.convention.of.not.bindi
469a0 6e 67 20 70 6c 61 63 65 73 0a 20 20 20 20 20 28 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e ng.places......(symbols).startin
469c0 67 20 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 e2 80 99 73 20 70 6f 73 73 69 62 6c g.with._.whenever.it...s.possibl
469e0 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 0a 20 20 20 20 20 74 6f 20 73 6b 69 e...You.can.use.this......to.ski
46a00 70 20 6f 76 65 72 20 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e e2 80 99 74 20 63 61 72 65 20 p.over.entries.you.don...t.care.
46a20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 0a 20 20 20 about...However,.this.is.not....
46a40 20 20 2a 61 6c 77 61 79 73 2a 20 70 6f 73 73 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c 74 ..*always*.possible.(as.a.result
46a60 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 .of.implementation).and.these.sy
46a80 6d 62 6f 6c 73 0a 20 20 20 20 20 6d 69 67 68 74 20 67 65 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e mbols......might.get.bound.to.un
46aa0 64 65 66 69 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 46 6f 6c 6c 6f 77 69 6e 67 20 defined.values........Following.
46ac0 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 61 74 is.the.overview.of.supported.pat
46ae0 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 20 20 20 20 20 70 61 74 74 65 terns...Remember.that......patte
46b00 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2c 20 rns.can.be.matched.recursively,.
46b20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 66 6f so.every.a,.b,.aK.in.the......fo
46b40 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 llowing.can.be.a.matching.constr
46b60 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 0a 20 20 20 20 20 73 uct.and.not.necessarily.a......s
46b80 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e 0a 0a 20 20 20 20 20 53 79 6d 62 6f 6c 3a 0a 0a 20 ymbol/variable........Symbol:...
46ba0 20 20 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 20 53 4f 55 52 43 45 20 74 6f 20 41 2e 20 20 54 ....a.-.bind.the.SOURCE.to.A...T
46bc0 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 72 20 e2 80 98 6c 65 74 e2 his.is.just.like.regular....let.
46be0 80 99 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 20 ..........Conses.and.lists:.....
46c00 20 20 28 61 29 20 2d 20 62 69 6e 64 20 e2 80 98 63 61 72 e2 80 99 20 6f 66 20 63 6f 6e 73 2f 6c ..(a).-.bind....car....of.cons/l
46c20 69 73 74 20 74 6f 20 41 0a 0a 20 20 20 20 20 28 61 20 2e 20 20 62 29 20 2d 20 62 69 6e 64 20 63 ist.to.A.......(a....b).-.bind.c
46c40 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 41 20 61 6e 64 20 e2 80 98 63 64 72 e2 80 99 20 74 6f ar.of.cons.to.A.and....cdr....to
46c60 20 42 0a 0a 20 20 20 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 6c 69 73 .B.......(a.b).-.bind.car.of.lis
46c80 74 20 74 6f 20 41 20 61 6e 64 20 e2 80 98 63 61 64 72 e2 80 99 20 74 6f 20 42 0a 0a 20 20 20 20 t.to.A.and....cadr....to.B......
46ca0 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f .(a1.a2.a3....).-.bind.0th.car.o
46cc0 66 20 6c 69 73 74 20 74 6f 20 41 31 2c 20 31 73 74 20 74 6f 20 41 32 2c 20 32 6e 64 20 74 6f 0a f.list.to.A1,.1st.to.A2,.2nd.to.
46ce0 20 20 20 20 20 41 33 2e 2e 2e 0a 0a 20 20 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 61 .....A3..........(a1.a2.a3.....a
46d00 4e 20 2e 20 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 N....rest).-.as.above,.but.bind.
46d20 74 68 65 20 4e 74 68 20 63 64 72 20 74 6f 20 52 45 53 54 2e 0a 0a 20 20 20 20 20 56 65 63 74 6f the.Nth.cdr.to.REST........Vecto
46d40 72 73 3a 0a 0a 20 20 20 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 rs:.......[a].-.bind.0th.element
46d60 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 41 20 28 77 6f .of.a.non-list.sequence.to.A.(wo
46d80 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 76 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 rks.with......vectors,.strings,.
46da0 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a 0a 20 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e bit.arrays...).......[a1.a2.a3..
46dc0 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 ..].-.bind.0th.element.of.non-li
46de0 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 41 30 2c 20 31 73 74 0a 20 20 20 20 20 74 6f 20 41 st.sequence.to.A0,.1st......to.A
46e00 31 2c 20 32 6e 64 20 74 6f 20 41 32 2c 20 2e 2e 2e 20 20 49 66 20 74 68 65 20 50 41 54 54 45 52 1,.2nd.to.A2,......If.the.PATTER
46e20 4e 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 2c 20 74 68 65 0a 20 20 N.is.shorter.than.SOURCE,.the...
46e40 20 20 20 76 61 6c 75 65 73 20 61 74 20 70 6c 61 63 65 73 20 6e 6f 74 20 69 6e 20 50 41 54 54 45 ...values.at.places.not.in.PATTE
46e60 52 4e 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 RN.are.ignored...If.the.PATTERN.
46e80 69 73 0a 20 20 20 20 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 2c 20 61 6e 20 e2 is......longer.than.SOURCE,.an..
46ea0 80 98 65 72 72 6f 72 e2 80 99 20 69 73 20 74 68 72 6f 77 6e 2e 0a 0a 20 20 20 20 20 5b 61 31 20 ..error....is.thrown........[a1.
46ec0 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d 20 61 73 20 61 62 6f 76 65 a2.a3.....&rest.rest].-.as.above
46ee0 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 ,.but.bind.the.rest.of.the......
46f00 73 65 71 75 65 6e 63 65 20 74 6f 20 52 45 53 54 2e 20 20 54 68 69 73 20 69 73 20 63 6f 6e 63 65 sequence.to.REST...This.is.conce
46f20 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 ptually.the.same.as.improper.lis
46f40 74 0a 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 2e 20 t......matching.(a1.a2.....aN...
46f60 20 72 65 73 74 29 0a 0a 20 20 20 20 20 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a .rest).......Key/value.stores:..
46f80 20 20 20 20 20 28 26 70 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e .....(&plist.key0.a0.....keyN.aN
46fa0 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e ).-.bind.value.mapped.by.keyK.in
46fc0 20 74 68 65 0a 20 20 20 20 20 53 4f 55 52 43 45 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 49 66 .the......SOURCE.plist.to.aK..If
46fe0 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 e2 .the.value.is.not.found,.aK.is..
47000 80 98 6e 69 6c e2 80 99 2e 20 20 55 73 65 73 0a 20 20 20 20 20 e2 80 98 70 6c 69 73 74 2d 67 65 ..nil......Uses.........plist-ge
47020 74 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 28 26 61 6c t....to.fetch.values........(&al
47040 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 ist.key0.a0.....keyN.aN).-.bind.
47060 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 value.mapped.by.keyK.in.the.....
47080 20 53 4f 55 52 43 45 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 61 6c 75 .SOURCE.alist.to.aK..If.the.valu
470a0 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e e.is.not.found,.aK.is....nil....
470c0 20 20 55 73 65 73 0a 20 20 20 20 20 e2 80 98 61 73 73 6f 63 e2 80 99 20 74 6f 20 66 65 74 63 68 ..Uses.........assoc....to.fetch
470e0 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 20 2e 2e .values........(&hash.key0.a0...
47100 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 ..keyN.aN).-.bind.value.mapped.b
47120 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 53 4f 55 52 43 45 20 68 61 73 68 20 74 y.keyK.in.the......SOURCE.hash.t
47140 61 62 6c 65 20 74 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 able.to.aK..If.the.value.is.not.
47160 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 55 73 65 found,.aK.is....nil..........Use
47180 73 20 e2 80 98 67 65 74 68 61 73 68 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e s....gethash....to.fetch.values.
471a0 0a 0a 20 20 20 20 20 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 .......Further,.special.keyword.
471c0 26 6b 65 79 73 20 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 &keys.supports."inline".matching
471e0 20 6f 66 0a 20 20 20 20 20 70 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 .of......plist-like.key-value.pa
47200 69 72 73 2c 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 irs,.similarly.to.&keys.keyword.
47220 6f 66 0a 20 20 20 20 20 e2 80 98 63 6c 2d 64 65 66 75 6e e2 80 99 2e 0a 0a 20 20 20 20 20 28 61 of.........cl-defun...........(a
47240 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 20 2e 2e 2e 20 6b 65 1.a2.....aN.&keys.key1.b1.....ke
47260 79 4e 20 62 4b 29 0a 0a 20 20 20 20 20 54 68 69 73 20 62 69 6e 64 73 20 4e 20 76 61 6c 75 65 73 yN.bK).......This.binds.N.values
47280 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e 20 61 4e 2c 20 74 68 65 .from.the.list.to.a1.....aN,.the
472a0 6e 20 69 6e 74 65 72 70 72 65 74 73 20 74 68 65 0a 20 20 20 20 20 63 64 72 20 61 73 20 61 20 70 n.interprets.the......cdr.as.a.p
472c0 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f list.(see.key/value.matching.abo
472e0 76 65 29 2e 0a 0a 20 20 20 20 20 41 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 ve)........A.shorthand.notation.
47300 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 for.kv-destructuring.exists.whic
47320 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 20 20 20 20 20 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 h.allows.the......patterns.be.op
47340 74 69 6f 6e 61 6c 6c 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 tionally.left.out.and.derived.fr
47360 6f 6d 20 74 68 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 6f 6c 6c om.the.key.name.in......the.foll
47380 6f 77 69 6e 67 20 66 61 73 68 69 6f 6e 3a 0a 0a 20 20 20 20 20 2d 20 61 20 6b 65 79 20 3a 66 6f owing.fashion:.......-.a.key.:fo
473a0 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 66 6f 6f e2 80 99 20 70 61 o.is.converted.into....foo....pa
473c0 74 74 65 72 6e 2c 20 2d 20 61 20 6b 65 79 20 e2 80 99 62 61 72 20 69 73 0a 20 20 20 20 20 63 6f ttern,.-.a.key....bar.is......co
473e0 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 62 61 72 e2 80 99 20 70 61 74 74 65 72 6e 2c 20 nverted.into....bar....pattern,.
47400 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 -.a.key."baz".is.converted.into.
47420 e2 80 98 62 61 7a e2 80 99 0a 20 20 20 20 20 70 61 74 74 65 72 6e 2e 0a 0a 20 20 20 20 20 54 68 ...baz.........pattern........Th
47440 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 at.is,.the.entire.value.under.th
47460 65 20 6b 65 79 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 20 20 e.key.is.bound.to.the.derived...
47480 20 20 20 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 ...variable.without.any.further.
474a0 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 70 6f 73 destructuring........This.is.pos
474c0 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 sible.only.when.the.form.followi
474e0 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 20 20 20 20 20 76 61 6c 69 64 20 70 ng.the.key.is.not.a......valid.p
47500 61 74 74 65 72 6e 20 28 69 2e 65 2e 20 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f attern.(i.e...not.a.symbol,.a.co
47520 6e 73 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 20 20 20 20 20 4f 74 68 65 72 ns.cell.or.a.vector).......Other
47540 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 wise.the.matching.proceeds.as.us
47560 75 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 69 6e 76 61 6c 69 64 0a 20 20 ual.and.in.case.of.an.invalid...
47580 20 20 20 73 70 65 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 20 20 ...spec.fails.with.an.error.....
475a0 20 20 20 54 68 75 73 20 74 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 ...Thus.the.patterns.are.normali
475c0 7a 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 20 20 3b 3b 20 64 65 72 69 76 65 20 zed.as.follows:.......;;.derive.
475e0 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 20 28 26 70 6c 69 73 74 all.the.missing.patterns.(&plist
47600 20 3a 66 6f 6f 20 e2 80 99 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c .:foo....bar."baz").=>......(&pl
47620 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 e2 80 99 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 ist.:foo.foo....bar.bar."baz".ba
47640 7a 29 0a 0a 20 20 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 z).......;;.we.can.specify.some.
47660 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 e2 80 99 62 but.not.others.(&plist.:foo....b
47680 61 72 0a 20 20 20 20 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 ar......explicit-bar).=>.(&plist
476a0 20 3a 66 6f 6f 20 66 6f 6f 20 e2 80 99 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a .:foo.foo....bar.explicit-bar)..
476c0 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 .....;;.nothing.happens,.we.stor
476e0 65 20 3a 66 6f 6f 20 69 6e 20 78 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 e.:foo.in.x.(&plist.:foo.x).=>.(
47700 26 70 6c 69 73 74 0a 20 20 20 20 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 &plist......:foo.x).......;;.not
47720 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 hing.happens,.we.match.recursive
47740 6c 79 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 0a 20 20 20 20 ly.(&plist.:foo.(a.b.c)).=>.....
47760 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 20 20 20 20 20 59 6f 75 .(&plist.:foo.(a.b.c)).......You
47780 20 63 61 6e 20 6e 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 .can.name.the.source.using.the.s
477a0 79 6e 74 61 78 20 53 59 4d 42 4f 4c 20 26 61 73 20 50 41 54 54 45 52 4e 2e 20 20 54 68 69 73 0a yntax.SYMBOL.&as.PATTERN...This.
477c0 20 20 20 20 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 .....syntax.works.with.lists.(pr
477e0 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 61 oper.or.improper),.vectors.and.a
47800 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 20 20 20 28 6c 69 ll.types......of.maps........(li
47820 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 20 20 20 20 st.&as.a.b.c).(list.1.2.3)......
47840 20 62 69 6e 64 73 20 41 20 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e .binds.A.to.1,.B.to.2,.C.to.3.an
47860 64 20 4c 49 53 54 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 20 20 20 20 20 53 69 6d 69 6c 61 72 d.LIST.to.(1.2.3)........Similar
47880 6c 79 3a 0a 0a 20 20 20 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 20 65 6e 64 ly:.......(bounds.&as.beg....end
478a0 29 20 28 63 6f 6e 73 20 31 20 32 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 45 47 20 74 6f 20 ).(cons.1.2).......binds.BEG.to.
478c0 31 2c 20 45 4e 44 20 74 6f 20 32 20 61 6e 64 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 20 1,.END.to.2.and.BOUNDS.to.(1....
478e0 32 29 2e 0a 0a 20 20 20 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 20 72 65 2)........(items.&as.first....re
47900 73 74 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 46 49 52 st).(list.1.2.3).......binds.FIR
47920 53 54 20 74 6f 20 31 2c 20 52 45 53 54 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 49 54 45 4d 53 ST.to.1,.REST.to.(2.3).and.ITEMS
47940 20 74 6f 20 28 31 20 32 20 33 29 0a 0a 20 20 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 .to.(1.2.3).......[vect.&as._.b.
47960 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 2c 20 43 c].[1.2.3].......binds.B.to.2,.C
47980 20 74 6f 20 33 20 61 6e 64 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f .to.3.and.VECT.to.[1.2.3].(_.avo
479a0 69 64 73 20 62 69 6e 64 69 6e 67 20 61 73 0a 20 20 20 20 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 ids.binding.as......usual)......
479c0 20 20 28 70 6c 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 ..(plist.&as.&plist.:b.b).(list.
479e0 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f :a.1.:b.2.:c.3).......binds.B.to
47a00 20 32 20 61 6e 64 20 50 4c 49 53 54 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 .2.and.PLIST.to.(:a.1.:b.2.:c.3)
47a20 2e 20 20 53 61 6d 65 20 66 6f 72 20 26 61 6c 69 73 74 20 61 6e 64 0a 20 20 20 20 20 26 68 61 73 ...Same.for.&alist.and......&has
47a40 68 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 h........This.is.especially.usef
47a60 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 72 ul.when.we.want.to.capture.the.r
47a80 65 73 75 6c 74 20 6f 66 20 61 0a 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 esult.of.a......computation.and.
47aa0 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 20 20 43 destructure.at.the.same.time...C
47ac0 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 72 6d 0a 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d onsider.the.form......(function-
47ae0 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 returning-complex-structure).ret
47b00 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 0a 20 20 20 20 20 76 65 63 74 6f 72 urning.a.list.of.two......vector
47b20 73 20 77 69 74 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 s.with.two.items.each...We.want.
47b40 74 6f 20 63 61 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 20 72 65 73 75 6c 74 0a 20 20 to.capture.this.entire.result...
47b60 20 20 20 61 6e 64 20 70 61 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 ...and.pass.it.to.another.comput
47b80 61 74 69 6f 6e 2c 20 62 75 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 77 65 20 77 ation,.but.at.the.same.time.we.w
47ba0 61 6e 74 20 74 6f 0a 20 20 20 20 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 ant.to......get.the.second.item.
47bc0 66 72 6f 6d 20 65 61 63 68 20 76 65 63 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 from.each.vector...We.can.achiev
47be0 65 20 69 74 20 77 69 74 68 0a 20 20 20 20 20 70 61 74 74 65 72 6e 0a 0a 20 20 20 20 20 28 72 65 e.it.with......pattern.......(re
47c00 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 20 28 66 75 6e 63 74 69 6f 6e 2d sult.&as.[_.a].[_.b]).(function-
47c20 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 0a 0a 20 20 returning-complex-structure)....
47c40 20 20 20 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 61 79 ...Note:.Clojure.programmers.may
47c60 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 22 3a 61 73 0a 20 .know.this.feature.as.the.":as..
47c80 20 20 20 20 62 69 6e 64 69 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 ....binding"...The.difference.is
47ca0 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f 6e .that.we.put.the.&as.at.the.fron
47cc0 74 0a 20 20 20 20 20 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 t......because.we.need.to.suppor
47ce0 74 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 20 20 20 20 20 20 t.improper.list.binding.........
47d00 20 20 20 20 28 2d 6c 65 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 ....(-let.(([a.(b.c).d].[1.(2.3)
47d20 20 34 5d 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 .4])).(list.a.b.c.d))...........
47d40 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 ........(1.2.3.4)...........(-le
47d60 74 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 20 36 t.[(a.b.c...d).(list.1.2.3.4.5.6
47d80 29 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )].(list.a.b.c.d))..............
47da0 20 e2 87 92 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .....(1.2.3.(4.5.6))...........(
47dc0 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 61 72 29 -let.[(&plist.:foo.foo.:bar.bar)
47de0 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a 62 61 72 .(list.:baz.3.:foo.1.:qux.4.:bar
47e00 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 62 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .2)].(list.foo.bar))............
47e20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 65 74 2a 20 28 .......(1.2)...--.Macro:.-let*.(
47e40 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 42 69 6e 64 20 76 61 varlist.&rest.body)......Bind.va
47e60 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 riables.according.to.VARLIST.the
47e80 6e 20 65 76 61 6c 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 56 41 52 4c 49 53 54 20 69 73 20 61 20 n.eval.BODY........VARLIST.is.a.
47ea0 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 list.of.lists.of.the.form.(PATTE
47ec0 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 63 68 0a 20 20 20 20 20 50 41 54 54 45 52 4e 20 69 RN.SOURCE)...Each......PATTERN.i
47ee0 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 73 74 72 s.matched.against.the.SOURCE.str
47f00 75 63 74 75 72 61 6c 6c 79 2e 20 20 53 4f 55 52 43 45 20 69 73 20 6f 6e 6c 79 0a 20 20 20 20 20 ucturally...SOURCE.is.only......
47f20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e evaluated.once.for.each.PATTERN.
47f40 0a 0a 20 20 20 20 20 45 61 63 68 20 53 4f 55 52 43 45 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 .......Each.SOURCE.can.refer.to.
47f60 74 68 65 20 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 the.symbols.already.bound.by.thi
47f80 73 20 56 41 52 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 s.VARLIST.......This.is.useful.i
47fa0 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 53 4f 55 52 43 45 f.you.want.to.destructure.SOURCE
47fc0 20 72 65 63 75 72 73 69 76 65 6c 79 20 62 75 74 0a 20 20 20 20 20 61 6c 73 6f 20 77 61 6e 74 20 .recursively.but......also.want.
47fe0 74 6f 20 6e 61 6d 65 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 to.name.the.intermediate.structu
48000 72 65 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 res........See....-let....(*note
48020 20 2d 6c 65 74 3a 3a 29 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 .-let::).for.the.list.of.all.pos
48040 73 69 62 6c 65 20 70 61 74 74 65 72 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 sible.patterns.............(-let
48060 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 *.(((a...b).(cons.1.2)).((c...d)
48080 20 28 63 6f 6e 73 20 33 20 34 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 .(cons.3.4))).(list.a.b.c.d))...
480a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 ................(1.2.3.4).......
480c0 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f ....(-let*.(((a...b).(cons.1.(co
480e0 6e 73 20 32 20 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 ns.2.3))).((c...d).b)).(list.a.b
48100 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 2e .c.d))...................(1.(2..
48120 20 33 29 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c .3).2.3)...........(-let*.(((&al
48140 69 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 20 62 61 72 29 20 28 6c 69 73 74 20 28 ist."foo".foo."bar".bar).(list.(
48160 63 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 20 22 62 61 72 22 20 28 6c 69 73 74 20 cons."foo".1).(cons."bar".(list.
48180 27 61 20 27 62 20 27 63 29 29 29 29 20 28 28 61 20 62 20 63 29 20 62 61 72 29 29 20 28 6c 69 73 'a.'b.'c)))).((a.b.c).bar)).(lis
481a0 74 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.foo.a.b.c.bar))...............
481c0 e2 87 92 20 28 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f ....(1.a.b.c.(a.b.c))...--.Macro
481e0 3a 20 2d 6c 61 6d 62 64 61 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 :.-lambda.(match-form.&rest.body
48200 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 )......Return.a.lambda.which.des
48220 74 72 75 63 74 75 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 tructures.its.input.as.MATCH-FOR
48240 4d 20 61 6e 64 0a 20 20 20 20 20 65 78 65 63 75 74 65 73 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 M.and......executes.BODY........
48260 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 Note.that.you.have.to.enclose.th
48280 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 e.MATCH-FORM.in.a.pair.of.parens
482a0 2c 0a 20 20 20 20 20 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 20 20 20 28 2d 6c 61 6d 62 64 61 ,......such.that:.......(-lambda
482c0 20 28 78 29 20 62 6f 64 79 29 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f .(x).body).(-lambda.(x.y....).bo
482e0 64 79 29 0a 0a 20 20 20 20 20 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 dy).......has.the.usual.semantic
48300 73 20 6f 66 20 e2 80 98 6c 61 6d 62 64 61 e2 80 99 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c s.of....lambda......Furthermore,
48320 20 74 68 65 73 65 20 67 65 74 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 .these.get......translated.into.
48340 6e 6f 72 6d 61 6c 20 e2 80 98 6c 61 6d 62 64 61 e2 80 99 2c 20 73 6f 20 74 68 65 72 65 20 69 73 normal....lambda...,.so.there.is
48360 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 20 20 20 20 20 70 65 6e 61 6c 74 79 2e 0a 0a 20 .no.performance......penalty....
48380 20 20 20 20 53 65 65 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a ....See....-let....(*note.-let::
483a0 29 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 ).for.a.description.of.the.destr
483c0 75 63 74 75 72 69 6e 67 0a 20 20 20 20 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 20 20 20 20 20 20 ucturing......mechanism.........
483e0 20 20 20 20 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 ....(-map.(-lambda.((x.y)).(+.x.
48400 79 29 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 y)).'((1.2).(3.4).(5.6))).......
48420 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 ............(3.7.11)...........(
48440 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 27 -map.(-lambda.([x.y]).(+.x.y)).'
48460 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ([1.2].[3.4].[5.6]))............
48480 20 20 20 e2 87 92 20 28 33 20 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 .......(3.7.11)...........(funca
484a0 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 20 28 5f 20 2e 20 62 29 29 20 28 2d ll.(-lambda.((_...a).(_...b)).(-
484c0 63 6f 6e 63 61 74 20 61 20 62 29 29 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a concat.a.b)).'(1.2.3).'(4.5.6)).
484e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d ..................(2.3.5.6)...--
48500 20 4d 61 63 72 6f 3a 20 2d 73 65 74 71 20 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 .Macro:.-setq.([match-form.val].
48520 2e 2e 2e 29 0a 20 20 20 20 20 42 69 6e 64 20 65 61 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 74 ...)......Bind.each.MATCH-FORM.t
48540 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 56 41 4c 2e 0a 0a 20 20 20 20 20 4d 41 o.the.value.of.its.VAL........MA
48560 54 43 48 2d 46 4f 52 4d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 TCH-FORM.destructuring.is.done.a
48580 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 e2 80 98 2d 6c 65 74 ccording.to.the.rules.of....-let
485a0 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 .........(*note.-let::)........T
485c0 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c his.macro.allows.you.to.bind.mul
485e0 74 69 70 6c 65 20 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 tiple.variables.by.destructuring
48600 0a 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a ......the.value,.so.for.example:
48620 0a 0a 20 20 20 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 20 28 26 70 6c 69 73 74 20 3a 63 .......(-setq.(a.b).x.(&plist.:c
48640 20 63 29 20 70 6c 69 73 74 29 0a 0a 20 20 20 20 20 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 .c).plist).......expands.roughly
48660 20 73 70 65 61 6b 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a .speaking.to.the.following.code.
48680 0a 20 20 20 20 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 20 62 20 28 63 61 64 72 20 78 29 ......(setq.a.(car.x).b.(cadr.x)
486a0 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 20 20 20 20 20 43 .c.(plist-get.plist.:c)).......C
486c0 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 are.is.taken.to.only.evaluate.ea
486e0 63 68 20 56 41 4c 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 20 ch.VAL.once.so.that.in.case.of..
48700 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 ....multiple.assignments.it.does
48720 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 .not.cause.unexpected.side.effec
48740 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 61 ts.............(let.(a).(-setq.a
48760 20 31 29 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 .1).a)...................1......
48780 20 20 20 20 20 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 .....(let.(a.b).(-setq.(a.b).(li
487a0 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 st.1.2)).(list.a.b))............
487c0 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 63 29 20 .......(1.2)...........(let.(c).
487e0 28 2d 73 65 74 71 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 (-setq.(&plist.:c.c).(list.:c."c
48800 22 29 29 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 63 22 0a 0a 1f 0a ")).c)..................."c"....
48820 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 69 64 File:.docpgQ07Y.info,..Node:.Sid
48840 65 20 65 66 66 65 63 74 73 2c 20 20 4e 65 78 74 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 e.effects,..Next:.Destructive.op
48860 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 42 69 6e 64 69 6e 67 2c 20 20 55 70 3a 20 46 erations,..Prev:.Binding,..Up:.F
48880 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 34 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 3d 3d 3d 3d unctions..2.14.Side.effects.====
488a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 =============..Functions.iterati
488c0 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e ng.over.lists.for.side.effect.on
488e0 6c 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 ly....--.Function:.-each.(list.f
48900 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 n)......Call.FN.on.each.element.
48920 6f 66 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 20 74 68 69 73 of.LIST...Return....nil...;.this
48940 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 .function.is......intended.for.s
48960 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 ide.effects........Its.anaphoric
48980 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 e2 80 99 2e 0a 0a 20 .counterpart.is....--each.......
489a0 20 20 20 20 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c ....For.access.to.the.current.el
489c0 65 6d 65 6e 74 e2 80 99 73 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 2c 20 73 65 65 0a 20 20 20 ement...s.index.in.LIST,.see....
489e0 20 20 e2 80 98 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 65 61 .....-each-indexed....(*note.-ea
48a00 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 ch-indexed::).............(let.(
48a20 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 l).(-each.'(1.2.3).(lambda.(x).(
48a40 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 push.x.l))).l)..................
48a60 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 .(3.2.1)...........(let.(l).(--e
48a80 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 ach.'(1.2.3).(push.it.l)).l)....
48aa0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 ...............(3.2.1)..........
48ac0 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 20 20 .(-each.'(1.2.3).#'identity)....
48ae0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ...............nil...--.Function
48b00 3a 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 20 :.-each-while.(list.pred.fn)....
48b20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 4c 49 53 54 2c 20 ..Call.FN.on.each.ITEM.in.LIST,.
48b40 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 while.(PRED.ITEM).is.non-...nil.
48b60 80 99 2e 20 20 4f 6e 63 65 0a 20 20 20 20 20 61 6e 20 49 54 45 4d 20 69 73 20 72 65 61 63 68 65 .....Once......an.ITEM.is.reache
48b80 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 d.for.which.PRED.returns....nil.
48ba0 80 99 2c 20 46 4e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e ..,.FN.is.no.longer......called.
48bc0 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f ..Return....nil...;.this.functio
48be0 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a n.is.intended.for.side.effects..
48c00 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 ......Its.anaphoric.counterpart.
48c20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 is....--each-while..............
48c40 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 ..(let.(l).(-each-while.'(2.4.5.
48c60 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 6).#'even?.(lambda.(x).(push.x.l
48c80 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 32 29 0a 20 ))).l)...................(4.2)..
48ca0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 .........(let.(l).(--each-while.
48cc0 27 28 31 20 32 20 33 20 34 29 20 28 3c 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 '(1.2.3.4).(<.it.3).(push.it.l))
48ce0 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 29 0a 20 20 20 20 .l)...................(2.1).....
48d00 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 ......(let.((s.0)).(--each-while
48d20 20 27 28 31 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 73 20 28 2b 20 .'(1.3.4.5).(<.it.5).(setq.s.(+.
48d40 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 0a 0a s.it))).s)...................8..
48d60 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 .--.Function:.-each-indexed.(lis
48d80 74 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 t.fn)......Call.FN.on.each.index
48da0 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 46 6f 72 20 65 61 63 68 20 .and.element.of.LIST...For.each.
48dc0 49 54 45 4d 20 61 74 20 49 4e 44 45 58 0a 20 20 20 20 20 69 6e 20 4c 49 53 54 2c 20 63 61 6c 6c ITEM.at.INDEX......in.LIST,.call
48de0 20 28 66 75 6e 63 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 54 45 4d 29 2e 20 20 52 65 74 75 72 .(funcall.FN.INDEX.ITEM)...Retur
48e00 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 n....nil...;.this.function......
48e20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 is.intended.for.side.effects....
48e40 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 ....See.also:....-map-indexed...
48e60 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 .(*note.-map-indexed::).........
48e80 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 ....(let.(l).(-each-indexed.'(a.
48ea0 62 20 63 29 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 b.c).(lambda.(i.x).(push.(list.x
48ec0 20 69 29 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 .i).l))).l)...................((
48ee0 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 c.2).(b.1).(a.0))...........(let
48f00 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 70 .(l).(--each-indexed.'(a.b.c).(p
48f20 75 73 68 20 28 6c 69 73 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 0a 20 20 ush.(list.it.it-index).l)).l)...
48f40 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 ................((c.2).(b.1).(a.
48f60 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 0))...........(let.(l).(--each-i
48f80 6e 64 65 78 65 64 20 28 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 ndexed.().(push.it.l)).l).......
48fa0 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 ............()...--.Function:.-e
48fc0 61 63 68 2d 72 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 ach-r.(list.fn)......Call.FN.on.
48fe0 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 each.element.of.LIST.in.reversed
49000 20 6f 72 64 65 72 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 0a 20 20 20 20 20 .order...Return....nil...;......
49020 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 this.function.is.intended.for.si
49040 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 de.effects........Its.anaphoric.
49060 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 72 e2 80 99 2e 0a 0a counterpart.is....--each-r......
49080 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 ..........(let.(l).(-each-r.'(1.
490a0 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 2.3).(lambda.(x).(push.x.l))).l)
490c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 ...................(1.2.3)......
490e0 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 .....(let.(l).(--each-r.'(1.2.3)
49100 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .(push.it.l)).l)................
49120 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 61 63 68 2d 72 20 27 28 ...(1.2.3)...........(-each-r.'(
49140 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 1.2.3).#'identity)..............
49160 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 2d .....nil...--.Function:.-each-r-
49180 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 while.(list.pred.fn)......Call.F
491a0 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c N.on.each.ITEM.in.reversed.LIST,
491c0 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 .while.(PRED.ITEM).is......non-.
491e0 80 98 6e 69 6c e2 80 99 2e 20 20 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 69 73 20 72 65 61 63 68 ..nil......Once.an.ITEM.is.reach
49200 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c ed.for.which.PRED.returns....nil
49220 e2 80 99 2c 0a 20 20 20 20 20 46 4e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 ...,......FN.is.no.longer.called
49240 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 20 74 68 69 73 20 66 75 6e 63 74 69 ...Return....nil...;.this.functi
49260 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 0a 20 20 20 20 20 66 6f 72 20 73 69 64 65 20 65 66 66 on.is.intended......for.side.eff
49280 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 ects........Its.anaphoric.counte
492a0 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a rpart.is....--each-r-while......
492c0 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d 77 68 69 6c ..........(let.(l).(-each-r-whil
492e0 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 e.'(2.4.5.6).#'even?.(lambda.(x)
49300 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .(push.x.l))).l)................
49320 87 92 20 28 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 ...(6)...........(let.(l).(--eac
49340 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3e 3d 20 69 74 20 33 29 20 28 h-r-while.'(1.2.3.4).(>=.it.3).(
49360 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 push.it.l)).l)..................
49380 20 28 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d .(3.4)...........(let.((s.0)).(-
493a0 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 35 29 20 28 3e 20 69 74 20 31 -each-r-while.'(1.2.3.5).(>.it.1
493c0 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 ).(setq.s.(+.s.it))).s).........
493e0 20 20 20 20 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 6f 74 ..........10...--.Function:.-dot
49400 69 6d 65 73 20 28 6e 75 6d 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 4e 55 4d 20 74 imes.(num.fn)......Call.FN.NUM.t
49420 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 imes,.presumably.for.side.effect
49440 73 2e 20 20 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 61 20 73 69 6e s...FN.is.called.with......a.sin
49460 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 gle.argument.on.successive.integ
49480 65 72 73 20 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 0a 20 ers.running.from.0,.inclusive,..
494a0 20 20 20 20 74 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 46 4e 20 69 73 20 6e 6f ....to.NUM,.exclusive...FN.is.no
494c0 74 20 63 61 6c 6c 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a t.called.if.NUM.is.less.than.1..
494e0 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 ......This.function...s.anaphori
49500 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 6f 74 69 6d 65 73 e2 80 99 c.counterpart.is....--dotimes...
49520 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 .............(let.(s).(-dotimes.
49540 33 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 3.(lambda.(n).(push.n.s))).s)...
49560 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 ................(2.1.0).........
49580 20 20 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c 61 6d 62 64 61 20 28 ..(let.(s).(-dotimes.0.(lambda.(
495a0 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n).(push.n.s))).s)..............
495c0 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 2d 64 6f .....()...........(let.(s).(--do
495e0 74 69 6d 65 73 20 35 20 28 70 75 73 68 20 69 74 20 73 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 times.5.(push.it.s)).s).........
49600 20 20 20 20 20 20 e2 87 92 20 28 34 20 33 20 32 20 31 20 30 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 ..........(4.3.2.1.0)....File:.d
49620 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 ocpgQ07Y.info,..Node:.Destructiv
49640 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f e.operations,..Next:.Function.co
49660 6d 62 69 6e 61 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 mbinators,..Prev:.Side.effects,.
49680 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 35 20 44 65 73 74 72 75 63 74 69 76 65 .Up:.Functions..2.15.Destructive
496a0 20 6f 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .operations.====================
496c0 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 76 61 72 69 =======..Macros.that.modify.vari
496e0 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a ables.holding.lists....--.Macro:
49700 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 .!cons.(car.cdr)......Destructiv
49720 65 3a 20 53 65 74 20 43 44 52 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 43 41 52 20 61 6e e:.Set.CDR.to.the.cons.of.CAR.an
49740 64 20 43 44 52 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 21 63 6f 6e d.CDR.............(let.(l).(!con
49760 73 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a s.5.l).l)...................(5).
49780 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 6f 6e 73 ..........(let.((l.'(3))).(!cons
497a0 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 33 29 .5.l).l)...................(5.3)
497c0 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 21 63 64 72 20 28 6c 69 73 74 29 0a 20 20 20 20 20 44 65 ...--.Macro:.!cdr.(list)......De
497e0 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 4c 49 53 54 20 74 6f 20 74 68 65 20 63 64 72 20 6f structive:.Set.LIST.to.the.cdr.o
49800 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 29 f.LIST.............(let.((l.'(3)
49820 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 )).(!cdr.l).l)..................
49840 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 35 29 29 29 20 .()...........(let.((l.'(3.5))).
49860 28 21 63 64 72 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 (!cdr.l).l)...................(5
49880 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 )....File:.docpgQ07Y.info,..Node
498a0 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 44 :.Function.combinators,..Prev:.D
498c0 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 estructive.operations,..Up:.Func
498e0 74 69 6f 6e 73 0a 0a 32 2e 31 36 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 tions..2.16.Function.combinators
49900 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 .=========================..Func
49920 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 tions.that.manipulate.and.compos
49940 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e e.other.functions....--.Function
49960 3a 20 2d 70 61 72 74 69 61 6c 20 28 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 :.-partial.(fun.&rest.args).....
49980 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 .Return.a.function.that.is.a.par
499a0 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 55 4e 20 74 6f 20 41 52 47 53 2e tial.application.of.FUN.to.ARGS.
499c0 0a 20 20 20 20 20 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 ......ARGS.is.a.list.of.the.firs
499e0 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 55 4e 2e 20 20 54 t.N.arguments.to.pass.to.FUN...T
49a00 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e he.result......is.a.new.function
49a20 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 55 4e 2c 20 65 78 63 .which.does.the.same.as.FUN,.exc
49a40 65 70 74 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 4e 20 61 72 67 75 6d 65 ept.that.the.first......N.argume
49a60 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 nts.are.fixed.at.the.values.with
49a80 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 63 61 .which.this.function.was......ca
49aa0 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 lled.............(funcall.(-part
49ac0 69 61 6c 20 23 27 2b 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a ial.#'+.5))...................5.
49ae0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d ..........(funcall.(-partial.#'-
49b00 20 35 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 .5).3)...................2......
49b20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 20 32 29 .....(funcall.(-partial.#'+.5.2)
49b40 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 .3)...................10...--.Fu
49b60 6e 63 74 69 6f 6e 3a 20 2d 72 70 61 72 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 nction:.-rpartial.(fn.&rest.args
49b80 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 )......Return.a.function.that.is
49ba0 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 74 6f 20 .a.partial.application.of.FN.to.
49bc0 41 52 47 53 2e 0a 20 20 20 20 20 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 ARGS.......ARGS.is.a.list.of.the
49be0 20 6c 61 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 4e 2e .last.N.arguments.to.pass.to.FN.
49c00 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 ..The.result......is.a.new.funct
49c20 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 4e 2c 20 65 ion.which.does.the.same.as.FN,.e
49c40 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c 61 73 74 20 4e 0a 20 20 20 20 20 61 72 67 75 6d xcept.that.the.last.N......argum
49c60 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 ents.are.fixed.at.the.values.wit
49c80 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 63 h.which.this.function.was......c
49ca0 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 61 6c alled...This.is.like....-partial
49cc0 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 61 6c 3a 3a 29 2c 20 65 78 63 65 70 74 20 74 ....(*note.-partial::),.except.t
49ce0 68 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 73 74 61 72 he......arguments.are.fixed.star
49d00 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 ting.from.the.right.rather.than.
49d20 74 68 65 20 6c 65 66 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d the.left.............(funcall.(-
49d40 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 rpartial.#'-.5))................
49d60 87 92 20 2d 35 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 ...-5...........(funcall.(-rpart
49d80 69 61 6c 20 23 27 2d 20 35 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ial.#'-.5).8)...................
49da0 33 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 3...........(funcall.(-rpartial.
49dc0 23 27 2d 20 35 20 32 29 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 #'-.5.2).10)...................3
49de0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 ...--.Function:.-juxt.(&rest.fns
49e00 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 )......Return.a.function.that.is
49e20 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 20 20 54 68 65 20 .the.juxtaposition.of.FNS...The.
49e40 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 returned......function.takes.a.v
49e60 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 20 ariable.number.of.ARGS,.applies.
49e80 65 61 63 68 20 6f 66 20 46 4e 53 20 69 6e 0a 20 20 20 20 20 74 75 72 6e 20 74 6f 20 41 52 47 53 each.of.FNS.in......turn.to.ARGS
49ea0 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 ,.and.returns.the.list.of.result
49ec0 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 31 s.............(funcall.(-juxt).1
49ee0 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 .2)...................()........
49f00 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 23 27 2a 20 23 ...(funcall.(-juxt.#'+.#'-.#'*.#
49f20 27 2f 29 20 37 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 32 20 32 '/).7.5)...................(12.2
49f40 20 33 35 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 6a 75 78 74 20 .35.1)...........(mapcar.(-juxt.
49f60 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 29 29 #'number-to-string.#'1+).'(1.2))
49f80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 31 22 20 32 29 20 28 22 32 22 ...................(("1".2).("2"
49fa0 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 .3))...--.Function:.-compose.(&r
49fc0 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f 20 61 est.fns)......Compose.FNS.into.a
49fe0 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 52 65 74 .single.composite.function...Ret
4a000 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 20 74 61 6b 65 73 20 61 urn.a.function......that.takes.a
4a020 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 .variable.number.of.ARGS,.applie
4a040 73 20 74 68 65 20 6c 61 73 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 46 4e 53 20 s.the.last.function.in......FNS.
4a060 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 to.ARGS,.and.returns.the.result.
4a080 6f 66 20 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e 67 0a 20 20 20 20 20 66 of.calling.each.remaining......f
4a0a0 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 unction.on.the.result.of.the.pre
4a0c0 76 69 6f 75 73 20 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 vious.function,.right-to-left...
4a0e0 49 66 0a 20 20 20 20 20 6e 6f 20 46 4e 53 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e If......no.FNS.are.given,.return
4a100 20 61 20 76 61 72 69 61 64 69 63 20 e2 80 98 69 64 65 6e 74 69 74 79 e2 80 99 20 66 75 6e 63 74 .a.variadic....identity....funct
4a120 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f ion.............(funcall.(-compo
4a140 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 se.#'-.#'1+.#'+).1.2.3).........
4a160 20 20 20 20 20 20 e2 87 92 20 2d 37 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 ..........-7...........(funcall.
4a180 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 0a 20 20 (-compose.#'identity.#'1+).3)...
4a1a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 ................4...........(map
4a1c0 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 70 29 20 27 car.(-compose.#'not.#'stringp).'
4a1e0 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 20 6e (nil.""))...................(t.n
4a200 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 il)...--.Function:.-applify.(fn)
4a220 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 ......Return.a.function.that.app
4a240 6c 69 65 73 20 46 4e 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 lies.FN.to.a.single.list.of.args
4a260 2e 20 20 54 68 69 73 0a 20 20 20 20 20 63 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f ...This......changes.the.arity.o
4a280 66 20 46 4e 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 f.FN.from.taking.N.distinct.argu
4a2a0 6d 65 6e 74 73 20 74 6f 20 74 61 6b 69 6e 67 0a 20 20 20 20 20 31 20 61 72 67 75 6d 65 6e 74 20 ments.to.taking......1.argument.
4a2c0 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 61 72 67 75 6d 65 6e 74 73 2e 0a which.is.a.list.of.N.arguments..
4a2e0 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 ...........(funcall.(-applify.#'
4a300 2b 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 +).nil)...................0.....
4a320 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 28 28 ......(mapcar.(-applify.#'+).'((
4a340 31 20 31 20 31 29 20 28 31 20 32 20 33 29 20 28 35 20 35 20 35 29 29 29 0a 20 20 20 20 20 20 20 1.1.1).(1.2.3).(5.5.5)))........
4a360 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 36 20 31 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 ...........(3.6.15)...........(f
4a380 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 0a 20 20 uncall.(-applify.#'<).'(3.6))...
4a3a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ................t...--.Function:
4a3c0 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 .-on.(op.trans)......Return.a.fu
4a3e0 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 nction.that.calls.TRANS.on.each.
4a400 61 72 67 20 61 6e 64 20 4f 50 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 73 2e 20 arg.and.OP.on.the......results..
4a420 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 .The.returned.function.takes.a.v
4a440 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 ariable.number.of......arguments
4a460 2c 20 63 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 54 52 41 4e 53 20 6f 6e 20 65 61 ,.calls.the.function.TRANS.on.ea
4a480 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 70 61 ch.one.in.turn,.and.then......pa
4a4a0 73 73 65 73 20 74 68 6f 73 65 20 72 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 6f sses.those.results.as.the.list.o
4a4c0 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 4f 50 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 f.arguments.to.OP,.in.the.same..
4a4e0 20 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 ....order........For.example,.th
4a500 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 e.following.pairs.of.expressions
4a520 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 .are.morally......equivalent:...
4a540 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 2b 29 20 ....(funcall.(-on.#...+.#...1+).
4a560 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 1.2.3).=.(+.(1+.1).(1+.2).(1+.3)
4a580 29 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 28 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 ).(funcall......(-on.#...+.#...1
4a5a0 2b 29 29 20 3d 20 28 2b 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6f 6e +)).=.(+)............(-sort.(-on
4a5c0 20 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 31 29 20 28 31 20 .#'<.#'length).'((1.2.3).(1).(1.
4a5e0 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 31 20 32 2)))...................((1).(1.2
4a600 29 20 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d ).(1.2.3))...........(funcall.(-
4a620 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 22 32 32 on.#'min.#'string-to-number)."22
4a640 22 20 22 32 22 20 22 31 22 20 22 31 32 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 "."2"."1"."12").................
4a660 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 ..1...........(-min-by.(-on.#'>.
4a680 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 29 0a #'length).'((1.2.3).(4).(1.2))).
4a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..................(4)...--.Funct
4a6c0 69 6f 6e 3a 20 2d 66 6c 69 70 20 28 66 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 ion:.-flip.(fn)......Return.a.fu
4a6e0 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 20 69 74 73 20 61 72 nction.that.calls.FN.with.its.ar
4a700 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 75 guments.reversed...The......retu
4a720 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d rned.function.takes.the.same.num
4a740 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 46 4e 2e 0a 0a 20 20 20 20 20 46 6f ber.of.arguments.as.FN........Fo
4a760 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 78 70 r.example,.the.following.two.exp
4a780 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 3a ressions.are.morally.equivalent:
4a7a0 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 e2 80 99 2d 29 20 31 20 .......(funcall.(-flip.#...-).1.
4a7c0 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2).=.(-.2.1).......See.also:....
4a7e0 2d 72 6f 74 61 74 65 2d 61 72 67 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 6f 74 61 74 65 2d 61 -rotate-args....(*note.-rotate-a
4a800 72 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 66 6c 69 70 rgs::).............(-sort.(-flip
4a820 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .#'<).'(4.3.6.1))...............
4a840 e2 87 92 20 28 36 20 34 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c ....(6.4.3.1)...........(funcall
4a860 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 20 32 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 .(-flip.#'-).3.2.1.10)..........
4a880 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d .........4...........(funcall.(-
4a8a0 66 6c 69 70 20 23 27 31 2b 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 flip.#'1+).1)...................
4a8c0 32 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 2...--.Function:.-rotate-args.(n
4a8e0 20 66 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 .fn)......Return.a.function.that
4a900 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 4e 20 70 6c .calls.FN.with.args.rotated.N.pl
4a920 61 63 65 73 20 74 6f 20 74 68 65 0a 20 20 20 20 20 72 69 67 68 74 2e 20 20 54 68 65 20 72 65 74 aces.to.the......right...The.ret
4a940 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 urned.function.takes.the.same.nu
4a960 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 0a 20 20 20 20 20 46 4e 2c 20 72 6f mber.of.arguments.as......FN,.ro
4a980 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 4e 20 70 6c tates.the.list.of.arguments.N.pl
4a9a0 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 0a 20 20 20 aces.to.the.right.(left.if.N....
4a9c0 20 20 69 73 20 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 2d 72 6f 74 ..is.negative).just.like....-rot
4a9e0 61 74 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 6f 74 61 74 65 3a 3a 29 2c 20 61 6e 64 20 61 70 ate....(*note.-rotate::),.and.ap
4aa00 70 6c 69 65 73 20 46 4e 0a 20 20 20 20 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 20 plies.FN......to.the.result.....
4aa20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 ...See.also:....-flip....(*note.
4aa40 2d 66 6c 69 70 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d -flip::).............(funcall.(-
4aa60 72 6f 74 61 74 65 2d 61 72 67 73 20 2d 31 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 29 0a rotate-args.-1.#'list).1.2.3.4).
4aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 31 29 0a 20 20 20 20 ..................(2.3.4.1).....
4aaa0 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 31 20 23 ......(funcall.(-rotate-args.1.#
4aac0 27 2d 29 20 31 20 31 30 20 31 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 '-).1.10.100)...................
4aae0 38 39 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 89...........(funcall.(-rotate-a
4ab00 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 34 20 35 20 31 20 32 29 0a 20 20 20 20 20 20 20 rgs.2.#'list).3.4.5.1.2)........
4ab20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 ...........(1.2.3.4.5)...--.Func
4ab40 74 69 6f 6e 3a 20 2d 63 6f 6e 73 74 20 28 63 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 tion:.-const.(c)......Return.a.f
4ab60 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 43 20 69 67 6e 6f 72 69 6e 67 20 unction.that.returns.C.ignoring.
4ab80 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 any.additional.arguments........
4aba0 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 0a 0a 20 20 20 20 20 20 20 20 20 In.types:.a.->.b.->.a...........
4abc0 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 0a .(funcall.(-const.2).1.3."foo").
4abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 6d ..................2...........(m
4ac00 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 apcar.(-const.1).'("a"."b"."c"."
4ac20 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 d"))...................(1.1.1.1)
4ac40 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 ...........(-sum.(mapcar.(-const
4ac60 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 29 0a 20 20 20 20 20 20 20 .1).'("a"."b"."c"."d")))........
4ac80 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 63 75 74 20 28 26 ...........4...--.Macro:.-cut.(&
4aca0 72 65 73 74 20 70 61 72 61 6d 73 29 0a 20 20 20 20 20 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e rest.params)......Take.n-ary.fun
4acc0 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 ction.and.n.arguments.and.specia
4ace0 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 41 72 67 75 6d 65 6e 74 lize.some.of.them.......Argument
4ad00 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 s.denoted.by.<>.will.be.left.uns
4ad20 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 53 52 46 49 2d 32 36 20 66 6f pecialized........See.SRFI-26.fo
4ad40 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 r.detailed.description..........
4ad60 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 73 74 20 31 20 3c 3e 20 33 20 3c 3e ...(funcall.(-cut.list.1.<>.3.<>
4ad80 20 35 29 20 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 .5).2.4)...................(1.2.
4ada0 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 3.4.5)...........(-map.(-cut.fun
4adc0 63 61 6c 6c 20 3c 3e 20 35 29 20 60 28 31 2b 20 31 2d 20 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 call.<>.5).`(1+.1-.,(lambda.(x).
4ade0 28 2f 20 31 2e 30 20 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 (/.1.0.x))))...................(
4ae00 36 20 34 20 30 2e 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c 6.4.0.2)...........(-map.(-cut.<
4ae20 3e 20 31 20 32 20 33 29 20 27 28 6c 69 73 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a >.1.2.3).'(list.vector.string)).
4ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 5b 31 20 32 20 ..................((1.2.3).[1.2.
4ae60 33 5d 20 22 5c 31 5c 32 5c 33 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e 6f 74 3]."\1\2\3")...--.Function:.-not
4ae80 20 28 70 72 65 64 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 .(pred)......Return.a.predicate.
4aea0 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e that.negates.the.result.of.PRED.
4aec0 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 70 61 ..The.returned......predicate.pa
4aee0 73 73 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 sses.its.arguments.to.PRED...If.
4af00 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 0a 20 20 20 20 PRED.returns....nil...,.the.....
4af20 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 3b 20 6f 74 68 65 72 77 .result.is.non-...nil...;.otherw
4af40 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 ise.the.result.is....nil........
4af60 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 ...See.also:....-andfn....(*note
4af80 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f 74 .-andfn::).and....-orfn....(*not
4afa0 65 20 2d 6f 72 66 6e 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 e.-orfn::).............(funcall.
4afc0 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 (-not.#'numberp)."5")...........
4afe0 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 ........t...........(-sort.(-not
4b000 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .#'<).'(5.2.1.0.6)).............
4b020 20 20 e2 87 92 20 28 36 20 35 20 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 ......(6.5.2.1.0)...........(-fi
4b040 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 lter.(-not.(-partial.#'<.4)).'(1
4b060 20 32 20 33 20 34 20 35 20 36 20 37 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .2.3.4.5.6.7.8))................
4b080 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 72 66 ...(1.2.3.4)...--.Function:.-orf
4b0a0 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 n.(&rest.preds)......Return.a.pr
4b0c0 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e edicate.that.returns.the.first.n
4b0e0 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 20 6f 66 0a 20 20 20 20 20 50 52 45 44 on-...nil....result.of......PRED
4b100 53 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 S...The.returned.predicate.takes
4b120 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d .a.variable.number.of......argum
4b140 65 6e 74 73 2c 20 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 ents,.passes.them.to.each.predic
4b160 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 0a 20 ate.in.PREDS.in.turn.until.one..
4b180 20 20 20 20 6f 66 20 74 68 65 6d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 ....of.them.returns.non-...nil..
4b1a0 99 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 .,.and.returns.that.non-...nil..
4b1c0 99 20 72 65 73 75 6c 74 0a 20 20 20 20 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 ..result......without.calling.th
4b1e0 65 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 e.remaining.PREDS...If.all.PREDS
4b200 20 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6f 72 0a 20 20 20 20 20 69 66 20 6e 6f .return....nil...,.or......if.no
4b220 20 50 52 45 44 53 20 61 72 65 20 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 70 .PREDS.are.given,.the.returned.p
4b240 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 redicate.returns....nil.........
4b260 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 20 ..See.also:....-andfn....(*note.
4b280 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 65 20 -andfn::).and....-not....(*note.
4b2a0 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d 6f -not::).............(-filter.(-o
4b2c0 72 66 6e 20 23 27 6e 61 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e 69 rfn.#'natnump.#'booleanp).'(1.ni
4b2e0 6c 20 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 l."a".-4.b.c.t))................
4b300 87 92 20 28 31 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 ...(1.nil.t)...........(funcall.
4b320 28 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d 6d 61 (-orfn.#'symbolp.(-cut.string-ma
4b340 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 tch-p."x".<>))."axe")...........
4b360 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f ........1...........(funcall.(-o
4b380 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rfn.#'=.#'+).1.1)...............
4b3a0 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 64 66 6e 20 28 26 72 65 ....t...--.Function:.-andfn.(&re
4b3c0 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 st.preds)......Return.a.predicat
4b3e0 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 e.that.returns.non-...nil....if.
4b400 61 6c 6c 20 50 52 45 44 53 20 64 6f 20 73 6f 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 75 72 all.PREDS.do.so...The......retur
4b420 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 50 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 ned.predicate.P.takes.a.variable
4b440 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 70 61 .number.of.arguments.and......pa
4b460 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 sses.them.to.each.predicate.in.P
4b480 52 45 44 53 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 20 20 20 REDS.in.turn...If.any.one.of....
4b4a0 20 20 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 50 20 61 6c 73 ..PREDS.returns....nil...,.P.als
4b4c0 6f 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 77 69 74 68 6f 75 74 20 63 61 6c 6c o.returns....nil....without.call
4b4e0 69 6e 67 20 74 68 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 ing.the......remaining.PREDS...I
4b500 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 f.all.PREDS.return.non-...nil...
4b520 2c 20 50 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 73 75 63 68 20 76 ,.P.returns.the.last......such.v
4b540 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 20 67 69 76 65 6e 2c 20 50 20 alue...If.no.PREDS.are.given,.P.
4b560 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 always.returns.non-...nil.......
4b580 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f 74 65 ....See.also:....-orfn....(*note
4b5a0 20 2d 6f 72 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 65 20 .-orfn::).and....-not....(*note.
4b5c0 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d 61 -not::).............(-filter.(-a
4b5e0 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 27 28 ndfn.#'numberp.(-cut.<.<>.5)).'(
4b600 61 20 31 20 62 20 36 20 63 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 a.1.b.6.c.2))...................
4b620 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 (1.2)...........(mapcar.(-andfn.
4b640 23 27 6e 75 6d 62 65 72 70 20 23 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 20 20 #'numberp.#'1+).'(a.1.b.6)).....
4b660 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 20 20 20 20 ..............(nil.2.nil.7).....
4b680 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 ......(funcall.(-andfn.#'=.#'+).
4b6a0 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 46 75 1.1)...................2...--.Fu
4b6c0 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 20 20 20 52 nction:.-iteratefn.(fn.n)......R
4b6e0 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 65 64 20 4e 20 74 eturn.a.function.FN.composed.N.t
4b700 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 61 20 imes.with.itself........FN.is.a.
4b720 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 unary.function...If.you.need.to.
4b740 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 20 20 20 20 20 61 72 use.a.function.of.higher......ar
4b760 69 74 79 2c 20 75 73 65 20 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d ity,.use....-applify....(*note.-
4b780 61 70 70 6c 69 66 79 3a 3a 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f applify::).first.to.turn.it.into
4b7a0 20 61 0a 20 20 20 20 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 57 69 .a......unary.function........Wi
4b7c0 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 79 20 th.n.=.0,.this.acts.as.identity.
4b7e0 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 function........In.types:.(a.->.
4b800 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 a).->.Int.->.a.->.a........This.
4b820 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 function.satisfies.the.following
4b840 20 6c 61 77 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e .law:.......(funcall.(-iteratefn
4b860 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 .fn.n).init).=.(-last-item.(-ite
4b880 72 61 74 65 20 66 6e 20 69 6e 69 74 0a 20 20 20 20 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 20 20 20 rate.fn.init......(1+.n)))......
4b8a0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d .......(funcall.(-iteratefn.(lam
4b8c0 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 bda.(x).(*.x.x)).3).2)..........
4b8e0 20 20 20 20 20 e2 87 92 20 32 35 36 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 .........256...........(funcall.
4b900 28 2d 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 (-iteratefn.'1+.3).1)...........
4b920 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 ........4...........(funcall.(-i
4b940 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 teratefn.'cdr.3).'(1.2.3.4.5))..
4b960 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 .................(4.5)...--.Func
4b980 74 69 6f 6e 3a 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 6c tion:.-fixfn.(fn.&optional.equal
4b9a0 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 -test.halt-test)......Return.a.f
4b9c0 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 73 74 unction.that.computes.the.(least
4b9e0 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a 0a 20 20 20 20 20 46 4e 20 6d 75 73 74 20 ).fixpoint.of.FN........FN.must.
4ba00 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 74 75 72 6e be.a.unary.function...The.return
4ba20 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 61 72 ed.lambda.takes.a.single......ar
4ba40 67 75 6d 65 6e 74 2c 20 58 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 6f 72 gument,.X,.the.initial.value.for
4ba60 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 20 54 68 65 0a 20 20 .the.fixpoint.iteration...The...
4ba80 20 20 20 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f ...iteration.halts.when.either.o
4baa0 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 0a 20 20 f.the.following.conditions.is...
4bac0 20 20 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 20 20 20 20 31 2e 20 20 49 74 65 72 61 74 69 6f ...satisfied:.......1...Iteratio
4bae0 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 n.converges.to.the.fixpoint,.wit
4bb00 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 20 74 65 73 74 65 64 0a 20 20 20 20 20 75 73 69 h.equality.being.tested......usi
4bb20 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e 20 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 69 73 ng.EQUAL-TEST...If.EQUAL-TEST.is
4bb40 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 e2 80 98 65 71 75 61 6c e2 80 99 20 69 73 20 75 .not.specified,....equal....is.u
4bb60 73 65 64 2e 0a 20 20 20 20 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 68 65 sed.......For.functions.over.the
4bb80 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 .floating.point.numbers,.it.may.
4bba0 62 65 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 be.necessary......to.provide.an.
4bbc0 61 70 70 72 6f 70 72 69 61 74 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 appropriate.approximate.comparis
4bbe0 6f 6e 20 74 65 73 74 2e 0a 0a 20 20 20 20 20 32 2e 20 20 48 41 4c 54 2d 54 45 53 54 20 72 65 74 on.test........2...HALT-TEST.ret
4bc00 75 72 6e 73 20 61 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 2e 20 20 48 41 4c urns.a.non-...nil....value...HAL
4bc20 54 2d 54 45 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 20 73 69 6d 70 6c 65 T-TEST.defaults.to.a......simple
4bc40 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 61 66 .counter.that.returns....t....af
4bc60 74 65 72 20 e2 80 98 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 e2 80 99 2c ter....-fixfn-max-iterations...,
4bc80 20 74 6f 0a 20 20 20 20 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 .to......guard.against.infinite.
4bca0 69 74 65 72 61 74 69 6f 6e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 48 41 4c 54 2d 54 45 53 54 iteration...Otherwise,.HALT-TEST
4bcc0 20 6d 75 73 74 20 62 65 20 61 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 .must.be.a......function.that.ac
4bce0 63 65 70 74 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 cepts.a.single.argument,.the.cur
4bd00 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 58 2c 0a 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e rent.value.of.X,......and.return
4bd20 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 s.non-...nil....as.long.as.itera
4bd40 74 69 6f 6e 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 20 49 6e 0a 20 20 20 20 20 74 tion.should.continue...In......t
4bd60 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 63 6f his.way,.a.more.sophisticated.co
4bd80 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 nvergence.test.may.be.supplied.b
4bda0 79 0a 20 20 20 20 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 y......the.caller........The.ret
4bdc0 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 urn.value.of.the.lambda.is.eithe
4bde0 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 20 20 20 20 20 69 74 65 72 61 r.the.fixpoint.or,.if......itera
4be00 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 tion.halted.before.converging,.a
4be20 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 e2 80 98 68 61 6c 74 65 64 e2 80 99 20 61 6e 64 0a .cons.with.car....halted....and.
4be40 20 20 20 20 20 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 48 .....cdr.the.final.output.from.H
4be60 41 4c 54 2d 54 45 53 54 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 ALT-TEST........In.types:.(a.->.
4be80 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c a).->.a.->.a.............(funcal
4bea0 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 6f 73 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 0a l.(-fixfn.#'cos.#'approx=).0.7).
4bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 ..................0.739085133215
4bee0 31 36 30 37 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 1607...........(funcall.(-fixfn.
4bf00 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 78 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 (lambda.(x).(expt.(+.x.10).0.25)
4bf20 29 29 20 32 2e 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 2e 38 35 35 35 )).2.0)...................1.8555
4bf40 38 34 35 32 38 36 34 30 39 33 37 38 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 845286409378...........(funcall.
4bf60 28 2d 66 69 78 66 6e 20 23 27 73 69 6e 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 0a 20 20 (-fixfn.#'sin.#'approx=).0.1)...
4bf80 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 0a 20 2d ................(halted...t)...-
4bfa0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 0a -.Function:.-prodfn.(&rest.fns).
4bfc0 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c .....Return.a.function.that.appl
4bfe0 69 65 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 74 6f 20 65 61 63 68 20 6f 66 20 61 20 6c 69 73 ies.each.of.FNS.to.each.of.a.lis
4c000 74 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 61 6b 65 73 t.of......arguments........Takes
4c020 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 .a.list.of.N.functions.and.retur
4c040 6e 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 20 20 20 20 20 ns.a.function.that.takes.a......
4c060 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 2c 20 61 70 70 6c 79 69 6e 67 20 49 74 68 20 66 list.of.length.N,.applying.Ith.f
4c080 75 6e 63 74 69 6f 6e 20 74 6f 20 49 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 69 6e unction.to.Ith.element.of.the.in
4c0a0 70 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f put......list...Returns.a.list.o
4c0c0 66 20 6c 65 6e 67 74 68 20 4e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 f.length.N........In.types.(for.
4c0e0 4e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 61 N=2):.((a.->.b),.(c.->.d)).->.(a
4c100 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 ,.c).->.(b,.d).......This.functi
4c120 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a on.satisfies.the.following.laws:
4c140 0a 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e .......(-compose.(-prodfn.f.g...
4c160 2e 29 20 28 2d 70 72 6f 64 66 6e 20 66 e2 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 28 2d .).(-prodfn.f....g.......)).=.(-
4c180 70 72 6f 64 66 6e 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 e2 80 99 29 20 28 2d prodfn......(-compose.f.f...).(-
4c1a0 63 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 28 2d 70 72 6f compose.g.g...)....).......(-pro
4c1c0 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 dfn.f.g....).=.(-juxt.(-compose.
4c1e0 66 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 30 29 29 0a 20 20 20 20 20 28 2d 63 f.(-partial.#...nth.0))......(-c
4c200 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 31 29 29 20 2e ompose.g.(-partial.#...nth.1))..
4c220 2e 2e 29 0a 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 ..).......(-compose.(-prodfn.f.g
4c240 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 20 66 e2 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 28 ....).(-juxt.f....g.......)).=.(
4c260 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 0a 20 20 20 20 20 66 e2 80 99 29 20 28 2d 63 -juxt.(-compose.f......f...).(-c
4c280 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 28 2d 63 6f 6d 70 ompose.g.g...)....).......(-comp
4c2a0 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 ose.(-partial.#...nth.n).(-prod.
4c2c0 66 31 20 66 32 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 0a 20 20 20 20 20 f1.f2....)).=.(-compose.fn......
4c2e0 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 6e 29 29 0a 0a 20 20 20 20 20 20 20 20 20 (-partial.#...nth.n))...........
4c300 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 23 27 31 2b 20 23 27 31 2d 20 23 27 6e .(funcall.(-prodfn.#'1+.#'1-.#'n
4c320 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 umber-to-string).'(1.2.3))......
4c340 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 22 33 22 29 0a 20 20 20 20 20 20 20 20 20 .............(2.1."3")..........
4c360 20 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 23 27 31 2d 20 23 27 31 2b 29 20 27 28 28 31 20 .(-map.(-prodfn.#'1-.#'1+).'((1.
4c380 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 2).(3.4).(5.6)))................
4c3a0 87 92 20 28 28 30 20 33 29 20 28 32 20 35 29 20 28 34 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 ...((0.3).(2.5).(4.7))..........
4c3c0 20 28 61 70 70 6c 79 20 23 27 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 23 27 .(apply.#'+.(funcall.(-prodfn.#'
4c3e0 6c 65 6e 67 74 68 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 27 28 28 74 29 length.#'string-to-number).'((t)
4c400 20 22 35 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 36 0a 0a 1f 0a 46 ."5")))...................6....F
4c420 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 76 65 ile:.docpgQ07Y.info,..Node:.Deve
4c440 6c 6f 70 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 44 4c 2c 20 20 50 72 65 76 3a 20 46 75 6e 63 lopment,..Next:.FDL,..Prev:.Func
4c460 74 69 6f 6e 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 2a tions,..Up:.Top..3.Development.*
4c480 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 44 61 73 68 20 72 65 70 6f 73 69 74 6f 72 ************..The.Dash.repositor
4c4a0 79 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 48 75 62 20 61 74 0a 3c 68 74 74 70 73 3a y.is.hosted.on.GitHub.at.<https:
4c4c0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 3e 2e 0a 0a //github.com/magnars/dash.el>...
4c4e0 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 *.Menu:..*.Contribute::.........
4c500 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f .How.to.contribute..*.Contributo
4c520 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 rs::........List.of.contributors
4c540 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.docpgQ07Y.info,..Node
4c560 3a 20 43 6f 6e 74 72 69 62 75 74 65 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 74 72 69 62 75 74 6f 72 :.Contribute,..Next:.Contributor
4c580 73 2c 20 20 55 70 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e 31 20 43 6f 6e 74 72 69 62 s,..Up:.Development..3.1.Contrib
4c5a0 75 74 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 ute.==============..Yes,.please.
4c5c0 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 do...Pure.functions.in.the.list.
4c5e0 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e manipulation.realm.only,.please.
4c600 20 20 54 68 65 72 65 e2 80 99 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f ..There...s.a.suite.of.examples/
4c620 74 65 73 74 73 20 69 6e 20 e2 80 98 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c e2 80 99 2c 20 tests.in....dev/examples.el...,.
4c640 73 6f 0a 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 so.remember.to.add.tests.for.you
4c660 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 6d 61 79 20 67 65 74 20 62 72 6f r.additions,.or.they.may.get.bro
4c680 6b 65 6e 20 6c 61 74 65 72 2e 0a 0a 20 20 20 52 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 ken.later......Run.the.tests.wit
4c6a0 68 20 e2 80 98 6d 61 6b 65 20 63 68 65 63 6b e2 80 99 2e 20 20 52 65 67 65 6e 65 72 61 74 65 20 h....make.check......Regenerate.
4c6c0 74 68 65 20 64 6f 63 73 20 77 69 74 68 20 e2 80 98 6d 61 6b 65 0a 64 6f 63 73 e2 80 99 2e 20 20 the.docs.with....make.docs......
4c6e0 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 72 61 67 65 64 20 74 6f 20 69 Contributors.are.encouraged.to.i
4c700 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 61 73 20 61 20 47 69 74 0a 70 nstall.these.commands.as.a.Git.p
4c720 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 74 65 73 74 re-commit.hook,.so.that.the.test
4c740 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 s.are.always.running.and.the.doc
4c760 73 20 61 72 65 0a 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 20 20 24 20 63 70 s.are.always.in.sync:.......$.cp
4c780 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 .dev/pre-commit.sh..git/hooks/pr
4c7a0 65 2d 63 6f 6d 6d 69 74 0a 0a 20 20 20 4f 68 2c 20 61 6e 64 20 64 6f 6e e2 80 99 74 20 65 64 69 e-commit.....Oh,.and.don...t.edi
4c7c0 74 20 e2 80 98 52 45 41 44 4d 45 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 61 73 68 2e 74 65 78 t....README.md....or....dash.tex
4c7e0 69 e2 80 99 20 64 69 72 65 63 74 6c 79 2c 20 61 73 20 74 68 65 79 20 61 72 65 0a 61 75 74 6f 2d i....directly,.as.they.are.auto-
4c800 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 generated...Instead,.change.thei
4c820 72 20 72 65 73 70 65 63 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a e2 80 98 72 65 61 64 6d 65 r.respective.templates....readme
4c840 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 61 73 68 2d 74 65 6d 70 6c -template.md....or....dash-templ
4c860 61 74 65 2e 74 65 78 69 e2 80 99 2e 0a 0a 20 20 20 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ate.texi.........To.ensure.that.
4c880 44 61 73 68 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 Dash.can.be.distributed.with.GNU
4c8a0 20 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 .ELPA.or.Emacs,.we.require.that.
4c8c0 61 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 all.contributors.assign.copyrigh
4c8e0 74 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f t.to.the.Free.Software.Foundatio
4c900 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 2a 6e 6f 74 65 20 28 65 6d 61 n...For.more.on.this,.*note.(ema
4c920 63 73 29 43 6f 70 79 72 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 3a 3a 2e 0a 0a 1f 0a 46 69 cs)Copyright.Assignment::.....Fi
4c940 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 74 72 le:.docpgQ07Y.info,..Node:.Contr
4c960 69 62 75 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 43 6f 6e 74 72 69 62 75 74 65 2c 20 20 55 70 3a ibutors,..Prev:.Contribute,..Up:
4c980 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e 32 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 3d .Development..3.2.Contributors.=
4c9a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 20 e2 80 a2 20 4d 61 74 75 73 20 47 6f ===============.........Matus.Go
4c9c0 6c 6a 65 72 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f 31 29 20 ljer.(https://github.com/Fuco1).
4c9e0 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 0a 20 20 20 20 20 66 65 61 74 75 72 65 contributed.lots.of......feature
4ca00 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 e2 80 a2 20 54 61 6b 61 66 75 6d 69 s.and.functions.........Takafumi
4ca20 20 41 72 61 6b 61 6b 69 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 .Arakaki.(https://github.com/tkf
4ca40 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 67 72 6f 75 70 2d 62 79 e2 80 99 2e 0a 20 ).contributed....-group-by......
4ca60 20 20 e2 80 a2 20 74 61 6c 69 37 31 33 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ......tali713.(https://github.co
4ca80 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 e2 80 98 2d m/tali713).is.the.author.of....-
4caa0 61 70 70 6c 69 66 79 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 56 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 applify............V..ctor.M..Va
4cac0 6c 65 6e 7a 75 65 6c 61 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d lenzuela.(https://github.com/vem
4cae0 76 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 70 65 61 74 e2 80 v).contributed.........-repeat..
4cb00 99 2e 0a 20 20 20 e2 80 a2 20 4e 69 63 20 46 65 72 72 69 65 72 20 28 68 74 74 70 73 3a 2f 2f 67 ..........Nic.Ferrier.(https://g
4cb20 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 20 63 6f 6e 74 72 69 62 75 74 65 ithub.com/nicferrier).contribute
4cb40 64 20 e2 80 98 2d 63 6f 6e 73 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 57 69 6c 66 72 65 64 20 48 d....-cons*............Wilfred.H
4cb60 75 67 68 65 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 ughes.(https://github.com/Wilfre
4cb80 64 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 73 6c 69 63 65 e2 80 99 2c 0a 20 20 20 d).contributed....-slice...,....
4cba0 20 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 6c 61 73 .....-first-item...,.and....-las
4cbc0 74 2d 69 74 65 6d e2 80 99 2e 0a 20 20 20 e2 80 a2 20 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 20 t-item............Emanuel.Evans.
4cbe0 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 29 20 63 6f 6e 74 (https://github.com/shosti).cont
4cc00 72 69 62 75 74 65 64 20 e2 80 98 2d 69 66 2d 6c 65 74 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d ributed....-if-let...,.........-
4cc20 77 68 65 6e 2d 6c 65 74 e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 80 when-let...,.and....-insert-at..
4cc40 99 2e 0a 20 20 20 e2 80 a2 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 28 68 74 74 70 73 ..........Johan.Andersson.(https
4cc60 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 ://github.com/rejeep).contribute
4cc80 64 20 e2 80 98 2d 73 75 6d e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 70 72 6f 64 75 63 74 e2 80 d....-sum...,.........-product..
4cca0 99 2c 20 61 6e 64 20 e2 80 98 2d 73 61 6d 65 2d 69 74 65 6d 73 3f e2 80 99 2e 0a 20 20 20 e2 80 .,.and....-same-items?..........
4ccc0 a2 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 ..Christina.Whyte.(https://githu
4cce0 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 b.com/kurisuwhyte).contributed..
4cd00 20 20 20 20 e2 80 98 2d 63 6f 6d 70 6f 73 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 74 65 76 65 .......-compose............Steve
4cd20 20 4c 61 6d 62 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e .Lamb.(https://github.com/steven
4cd40 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 79 63 6c 65 e2 80 99 2c tlamb).contributed....-cycle...,
4cd60 0a 20 20 20 20 20 e2 80 98 2d 70 61 64 e2 80 99 2c 20 e2 80 98 2d 61 6e 6e 6f 74 61 74 65 e2 80 .........-pad...,....-annotate..
4cd80 99 2c 20 e2 80 98 2d 7a 69 70 2d 66 69 6c 6c e2 80 99 2c 20 61 6e 64 20 61 20 76 61 72 69 61 64 .,....-zip-fill...,.and.a.variad
4cda0 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 e2 80 98 2d 7a 69 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 ic.version.of....-zip...........
4cdc0 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 .Fredrik.Bergroth.(https://githu
4cde0 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 e2 80 98 2d 69 66 b.com/fbergroth).made.the....-if
4ce00 2d 6c 65 74 e2 80 99 0a 20 20 20 20 20 66 61 6d 69 6c 79 20 75 73 65 20 e2 80 98 2d 6c 65 74 e2 -let.........family.use....-let.
4ce20 80 99 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 ...destructuring.and.improved.th
4ce40 65 20 73 63 72 69 70 74 20 66 6f 72 0a 20 20 20 20 20 67 65 6e 65 72 61 74 69 6e 67 20 64 6f 63 e.script.for......generating.doc
4ce60 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 e2 80 a2 20 4d 61 72 6b 20 4f 74 65 69 7a 61 20 28 umentation.........Mark.Oteiza.(
4ce80 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 29 20 63 6f https://github.com/holomorph).co
4cea0 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 69 6f 74 61 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 74 ntributed....-iota....and......t
4cec0 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 he.script.to.create.an.Info.manu
4cee0 61 6c 2e 0a 20 20 20 e2 80 a2 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e al.........Vasilij.Schneidermann
4cf00 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 29 20 63 .(https://github.com/wasamasa).c
4cf20 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d 65 e2 80 99 2e 0a 20 20 20 ontributed.........-some........
4cf40 e2 80 a2 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ....William.West.(https://github
4cf60 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 29 20 6d 61 64 65 20 e2 80 98 2d 66 69 78 66 6e e2 80 99 .com/occidens).made....-fixfn...
4cf80 20 6d 6f 72 65 0a 20 20 20 20 20 72 6f 62 75 73 74 20 61 74 20 68 61 6e 64 6c 69 6e 67 20 66 6c .more......robust.at.handling.fl
4cfa0 6f 61 74 73 2e 0a 20 20 20 e2 80 a2 20 43 61 6d 20 53 61 75 6c 20 28 68 74 74 70 73 3a 2f 2f 67 oats.........Cam.Saul.(https://g
4cfc0 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 ithub.com/camsaul).contributed..
4cfe0 80 98 2d 73 6f 6d 65 2d 3e e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d 65 2d 3e 3e e2 80 ..-some->...,.........-some->>..
4d000 99 2c 20 61 6e 64 20 e2 80 98 2d 73 6f 6d 65 2d 2d 3e e2 80 99 2e 0a 20 20 20 e2 80 a2 20 42 61 .,.and....-some-->............Ba
4d020 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 20 28 68 74 74 70 73 3a 2f 2f 67 sil.L..Contovounesios.(https://g
4d040 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 0a 20 20 20 20 20 63 6f 6e 74 ithub.com/basil-conto)......cont
4d060 72 69 62 75 74 65 64 20 e2 80 98 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 e2 80 99 2c 20 e2 80 ributed....-common-prefix...,...
4d080 98 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 e2 80 99 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 20 .-common-suffix...,.and.various.
4d0a0 6f 74 68 65 72 0a 20 20 20 20 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 20 20 20 e2 80 a2 20 other......improvements.........
4d0c0 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e Paul.Pogonyshev.(https://github.
4d0e0 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 65 61 63 com/doublep).contributed....-eac
4d100 68 2d 72 e2 80 99 0a 20 20 20 20 20 61 6e 64 20 e2 80 98 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 h-r.........and....-each-r-while
4d120 e2 80 99 2e 0a 0a 20 20 20 54 68 61 6e 6b 73 21 0a 0a 20 20 20 4e 65 77 20 63 6f 6e 74 72 69 62 .........Thanks!.....New.contrib
4d140 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 2a 4e 6f 74 65 20 43 utors.are.very.welcome...*Note.C
4d160 6f 6e 74 72 69 62 75 74 65 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 70 67 51 30 37 59 2e ontribute::.....File:.docpgQ07Y.
4d180 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 44 4c 2c 20 20 4e 65 78 74 3a 20 47 50 4c 2c 20 20 50 info,..Node:.FDL,..Next:.GPL,..P
4d1a0 72 65 76 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 rev:.Development,..Up:.Top..Appe
4d1c0 6e 64 69 78 20 41 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 ndix.A.GNU.Free.Documentation.Li
4d1e0 63 65 6e 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a cense.**************************
4d200 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ***************.................
4d220 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c 20 33 20 4e 6f 76 65 6d 62 65 72 20 32 30 ......Version.1.3,.3.November.20
4d240 30 38 0a 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 30 2c 20 32 30 30 31 08.......Copyright....2000,.2001
4d260 2c 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 ,.2002,.2007,.2008.Free.Software
4d280 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f .Foundation,.Inc.......<https://
4d2a0 66 73 66 2e 6f 72 67 2f 3e 0a 0a 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d fsf.org/>.......Everyone.is.perm
4d2c0 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 itted.to.copy.and.distribute.ver
4d2e0 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 batim.copies......of.this.licens
4d300 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e e.document,.but.changing.it.is.n
4d320 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 30 2e 20 50 52 45 41 4d 42 4c 45 0a 0a 20 20 20 20 ot.allowed.....0..PREAMBLE......
4d340 20 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 .The.purpose.of.this.License.is.
4d360 74 6f 20 6d 61 6b 65 20 61 20 6d 61 6e 75 61 6c 2c 20 74 65 78 74 62 6f 6f 6b 2c 20 6f 72 20 6f to.make.a.manual,.textbook,.or.o
4d380 74 68 65 72 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e 64 20 75 73 65 66 75 6c 20 ther......functional.and.useful.
4d3a0 64 6f 63 75 6d 65 6e 74 20 e2 80 9c 66 72 65 65 e2 80 9d 20 69 6e 20 74 68 65 20 73 65 6e 73 65 document....free....in.the.sense
4d3c0 20 6f 66 20 66 72 65 65 64 6f 6d 3a 20 74 6f 0a 20 20 20 20 20 61 73 73 75 72 65 20 65 76 65 72 .of.freedom:.to......assure.ever
4d3e0 79 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 6f yone.the.effective.freedom.to.co
4d400 70 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2c 0a 20 20 20 20 20 77 69 74 py.and.redistribute.it,......wit
4d420 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2c 20 65 69 74 68 65 h.or.without.modifying.it,.eithe
4d440 72 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 0a 20 20 20 20 20 6e 6f 6e 63 6f 6d 6d 65 72 r.commercially.or......noncommer
4d460 63 69 61 6c 6c 79 2e 20 20 53 65 63 6f 6e 64 61 72 69 6c 79 2c 20 74 68 69 73 20 4c 69 63 65 6e cially...Secondarily,.this.Licen
4d480 73 65 20 70 72 65 73 65 72 76 65 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 61 75 74 68 6f 72 se.preserves.for.the......author
4d4a0 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 61 20 77 61 79 20 74 6f 20 67 65 74 20 63 72 65 64 .and.publisher.a.way.to.get.cred
4d4c0 69 74 20 66 6f 72 20 74 68 65 69 72 20 77 6f 72 6b 2c 20 77 68 69 6c 65 20 6e 6f 74 0a 20 20 20 it.for.their.work,.while.not....
4d4e0 20 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 64 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 ..being.considered.responsible.f
4d500 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6d 61 64 65 20 62 79 20 6f 74 68 65 72 73 2e or.modifications.made.by.others.
4d520 0a 0a 20 20 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 61 20 6b 69 6e 64 20 6f 66 .......This.License.is.a.kind.of
4d540 20 e2 80 9c 63 6f 70 79 6c 65 66 74 e2 80 9d 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 ....copyleft...,.which.means.tha
4d560 74 20 64 65 72 69 76 61 74 69 76 65 0a 20 20 20 20 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 64 t.derivative......works.of.the.d
4d580 6f 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 65 6c 76 65 73 20 62 65 20 66 72 65 65 20 ocument.must.themselves.be.free.
4d5a0 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 49 74 20 63 6f 6d 70 6c in.the.same.sense.......It.compl
4d5c0 65 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ements.the.GNU.General.Public.Li
4d5e0 63 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 70 79 6c 65 66 74 0a 20 20 20 20 20 cense,.which.is.a.copyleft......
4d600 6c 69 63 65 6e 73 65 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 66 72 65 65 20 73 6f 66 74 77 61 license.designed.for.free.softwa
4d620 72 65 2e 0a 0a 20 20 20 20 20 57 65 20 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 re........We.have.designed.this.
4d640 4c 69 63 65 6e 73 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 69 74 20 66 6f 72 20 6d License.in.order.to.use.it.for.m
4d660 61 6e 75 61 6c 73 20 66 6f 72 0a 20 20 20 20 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 62 anuals.for......free.software,.b
4d680 65 63 61 75 73 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 6e 65 65 64 73 20 66 72 65 65 20 ecause.free.software.needs.free.
4d6a0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 61 0a 20 20 20 20 20 66 72 65 65 20 70 72 6f 67 72 documentation:.a......free.progr
4d6c0 61 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 68 20 6d 61 6e 75 61 6c 73 20 70 72 6f 76 am.should.come.with.manuals.prov
4d6e0 69 64 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 72 65 65 64 6f 6d 73 0a 20 20 20 20 20 74 68 61 iding.the.same.freedoms......tha
4d700 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 64 6f 65 73 2e 20 20 42 75 74 20 74 68 69 73 20 4c t.the.software.does...But.this.L
4d720 69 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 0a 20 20 20 20 20 73 6f icense.is.not.limited.to......so
4d740 66 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 ftware.manuals;.it.can.be.used.f
4d760 6f 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 6b 2c 20 72 65 67 61 72 64 6c 65 73 73 0a or.any.textual.work,.regardless.
4d780 20 20 20 20 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 74 74 65 72 20 6f 72 20 77 68 65 74 68 65 .....of.subject.matter.or.whethe
4d7a0 72 20 69 74 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 72 69 6e 74 65 64 20 62 r.it.is.published.as.a.printed.b
4d7c0 6f 6f 6b 2e 20 20 57 65 0a 20 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 69 73 20 4c 69 63 ook...We......recommend.this.Lic
4d7e0 65 6e 73 65 20 70 72 69 6e 63 69 70 61 6c 6c 79 20 66 6f 72 20 77 6f 72 6b 73 20 77 68 6f 73 65 ense.principally.for.works.whose
4d800 20 70 75 72 70 6f 73 65 20 69 73 0a 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 72 20 .purpose.is......instruction.or.
4d820 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 31 2e 20 41 50 50 4c 49 43 41 42 49 4c 49 54 59 20 41 reference.....1..APPLICABILITY.A
4d840 4e 44 20 44 45 46 49 4e 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 ND.DEFINITIONS.......This.Licens
4d860 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 6d 61 6e 75 61 6c 20 6f 72 20 6f 74 68 65 72 e.applies.to.any.manual.or.other
4d880 20 77 6f 72 6b 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 0a 20 20 20 20 20 74 68 61 74 20 .work,.in.any.medium,......that.
4d8a0 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 contains.a.notice.placed.by.the.
4d8c0 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 63 61 6e 0a 20 copyright.holder.saying.it.can..
4d8e0 20 20 20 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 ....be.distributed.under.the.ter
4d900 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 53 75 63 68 20 61 20 6e 6f 74 69 ms.of.this.License...Such.a.noti
4d920 63 65 0a 20 20 20 20 20 67 72 61 6e 74 73 20 61 20 77 6f 72 6c 64 2d 77 69 64 65 2c 20 72 6f 79 ce......grants.a.world-wide,.roy
4d940 61 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c 20 75 6e 6c 69 6d 69 74 65 64 20 69 6e 20 alty-free.license,.unlimited.in.
4d960 64 75 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 74 6f 20 75 73 65 20 74 68 61 74 20 77 6f 72 6b 20 duration,......to.use.that.work.
4d980 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 68 65 72 65 under.the.conditions.stated.here
4d9a0 69 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 e2 80 9c 44 6f 63 75 6d 65 6e 74 e2 80 9d 2c 20 62 65 in...The.........Document...,.be
4d9c0 6c 6f 77 2c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 75 63 68 20 6d 61 6e 75 61 6c 20 6f low,.refers.to.any.such.manual.o
4d9e0 72 20 77 6f 72 6b 2e 20 20 41 6e 79 20 6d 65 6d 62 65 72 0a 20 20 20 20 20 6f 66 20 74 68 65 20 r.work...Any.member......of.the.
4da00 70 75 62 6c 69 63 20 69 73 20 61 20 6c 69 63 65 6e 73 65 65 2c 20 61 6e 64 20 69 73 20 61 64 64 public.is.a.licensee,.and.is.add
4da20 72 65 73 73 65 64 20 61 73 20 e2 80 9c 79 6f 75 e2 80 9d 2e 20 20 59 6f 75 20 61 63 63 65 70 74 ressed.as....you......You.accept
4da40 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 66 20 79 6f 75 20 63 6f 70 79 2c 20 6d ......the.license.if.you.copy,.m
4da60 6f 64 69 66 79 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 odify.or.distribute.the.work.in.
4da80 61 20 77 61 79 0a 20 20 20 20 20 72 65 71 75 69 72 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 20 a.way......requiring.permission.
4daa0 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c under.copyright.law........A....
4dac0 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e e2 80 9d 20 6f 66 20 74 68 65 20 44 6f 63 75 6d Modified.Version....of.the.Docum
4dae0 65 6e 74 20 6d 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 ent.means.any.work.containing.th
4db00 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 e......Document.or.a.portion.of.
4db20 69 74 2c 20 65 69 74 68 65 72 20 63 6f 70 69 65 64 20 76 65 72 62 61 74 69 6d 2c 20 6f 72 20 77 it,.either.copied.verbatim,.or.w
4db40 69 74 68 0a 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 ith......modifications.and/or.tr
4db60 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a anslated.into.another.language..
4db80 0a 20 20 20 20 20 41 20 e2 80 9c 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e e2 80 9d 20 ......A....Secondary.Section....
4dba0 69 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 78 20 6f 72 20 61 20 66 72 6f 6e 74 2d 6d is.a.named.appendix.or.a.front-m
4dbc0 61 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 atter.section......of.the.Docume
4dbe0 6e 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 77 69 74 68 20 74 nt.that.deals.exclusively.with.t
4dc00 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 20 74 68 65 0a 20 20 20 20 20 70 75 62 6c he.relationship.of.the......publ
4dc20 69 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ishers.or.authors.of.the.Documen
4dc40 74 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 6f 76 65 72 61 6c 6c 0a 20 20 t.to.the.Document...s.overall...
4dc60 20 20 20 73 75 62 6a 65 63 74 20 28 6f 72 20 74 6f 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 ...subject.(or.to.related.matter
4dc80 73 29 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 s).and.contains.nothing.that.cou
4dca0 6c 64 0a 20 20 20 20 20 66 61 6c 6c 20 64 69 72 65 63 74 6c 79 20 77 69 74 68 69 6e 20 74 68 61 ld......fall.directly.within.tha
4dcc0 74 20 6f 76 65 72 61 6c 6c 20 73 75 62 6a 65 63 74 2e 20 20 28 54 68 75 73 2c 20 69 66 20 74 68 t.overall.subject...(Thus,.if.th
4dce0 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 69 73 20 69 6e 20 70 61 72 74 20 61 20 74 65 78 e.Document......is.in.part.a.tex
4dd00 74 62 6f 6f 6b 20 6f 66 20 6d 61 74 68 65 6d 61 74 69 63 73 2c 20 61 20 53 65 63 6f 6e 64 61 72 tbook.of.mathematics,.a.Secondar
4dd20 79 20 53 65 63 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 65 78 70 6c 61 69 6e 20 61 y.Section.may.not......explain.a
4dd40 6e 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 54 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 ny.mathematics.)..The.relationsh
4dd60 69 70 20 63 6f 75 6c 64 20 62 65 20 61 20 6d 61 74 74 65 72 20 6f 66 0a 20 20 20 20 20 68 69 73 ip.could.be.a.matter.of......his
4dd80 74 6f 72 69 63 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 75 62 6a torical.connection.with.the.subj
4dda0 65 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 2c 20 6f 72 0a ect.or.with.related.matters,.or.
4ddc0 20 20 20 20 20 6f 66 20 6c 65 67 61 6c 2c 20 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 70 68 69 6c 6f .....of.legal,.commercial,.philo
4dde0 73 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 6f 72 20 70 6f 6c 69 74 69 63 61 6c 20 70 sophical,.ethical.or.political.p
4de00 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 72 65 67 61 72 64 69 6e 67 20 74 68 65 6d 2e 0a 0a 20 20 osition......regarding.them.....
4de20 20 20 20 54 68 65 20 e2 80 9c 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 e2 80 9d 20 ...The....Invariant.Sections....
4de40 61 72 65 20 63 65 72 74 61 69 6e 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 77 are.certain.Secondary.Sections.w
4de60 68 6f 73 65 0a 20 20 20 20 20 74 69 74 6c 65 73 20 61 72 65 20 64 65 73 69 67 6e 61 74 65 64 2c hose......titles.are.designated,
4de80 20 61 73 20 62 65 69 6e 67 20 74 68 6f 73 65 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 .as.being.those.of.Invariant.Sec
4dea0 74 69 6f 6e 73 2c 20 69 6e 20 74 68 65 0a 20 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 73 tions,.in.the......notice.that.s
4dec0 61 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 ays.that.the.Document.is.release
4dee0 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 20 20 20 20 20 49 66 20 61 20 d.under.this.License.......If.a.
4df00 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 20 61 62 6f 76 65 20 64 section.does.not.fit.the.above.d
4df20 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e 64 61 72 79 20 74 68 65 6e 20 69 74 0a 20 efinition.of.Secondary.then.it..
4df40 20 20 20 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 65 73 69 67 6e 61 ....is.not.allowed.to.be.designa
4df60 74 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 ted.as.Invariant...The.Document.
4df80 6d 61 79 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 7a 65 72 6f 20 49 6e 76 61 72 69 61 6e 74 20 may......contain.zero.Invariant.
4dfa0 53 65 63 74 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 Sections...If.the.Document.does.
4dfc0 6e 6f 74 20 69 64 65 6e 74 69 66 79 0a 20 20 20 20 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 20 not.identify......any.Invariant.
4dfe0 53 65 63 74 69 6f 6e 73 20 74 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e 0a 0a 20 Sections.then.there.are.none....
4e000 20 20 20 20 54 68 65 20 e2 80 9c 43 6f 76 65 72 20 54 65 78 74 73 e2 80 9d 20 61 72 65 20 63 65 ....The....Cover.Texts....are.ce
4e020 72 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 61 67 65 73 20 6f 66 20 74 65 78 74 20 74 68 61 rtain.short.passages.of.text.tha
4e040 74 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 65 64 2c 20 61 73 20 46 72 6f 6e 74 2d 43 6f 76 65 t.are......listed,.as.Front-Cove
4e060 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 69 6e 20 r.Texts.or.Back-Cover.Texts,.in.
4e080 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 74 68 61 74 20 73 61 79 73 20 74 68 61 74 20 74 the.notice......that.says.that.t
4e0a0 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 he.Document.is.released.under.th
4e0c0 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 0a 20 20 20 20 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 is.License...A......Front-Cover.
4e0e0 54 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f 73 74 20 35 20 77 6f 72 64 73 2c 20 61 6e 64 Text.may.be.at.most.5.words,.and
4e100 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 0a 20 20 20 20 20 62 65 20 61 .a.Back-Cover.Text.may......be.a
4e120 74 20 6d 6f 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 54 72 61 6e t.most.25.words........A....Tran
4e140 73 70 61 72 65 6e 74 e2 80 9d 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 sparent....copy.of.the.Document.
4e160 6d 65 61 6e 73 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f 70 79 2c 0a 20 means.a.machine-readable.copy,..
4e180 20 20 20 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 77 68 6f 73 ....represented.in.a.format.whos
4e1a0 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 e.specification.is.available.to.
4e1c0 74 68 65 0a 20 20 20 20 20 67 65 6e 65 72 61 6c 20 70 75 62 6c 69 63 2c 20 74 68 61 74 20 69 73 the......general.public,.that.is
4e1e0 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 72 65 76 69 73 69 6e 67 20 74 68 65 20 64 6f 63 75 6d .suitable.for.revising.the.docum
4e200 65 6e 74 0a 20 20 20 20 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 6c 79 20 77 69 74 68 20 ent......straightforwardly.with.
4e220 67 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 6f 72 20 28 66 6f 72 20 69 6d 61 generic.text.editors.or.(for.ima
4e240 67 65 73 20 63 6f 6d 70 6f 73 65 64 0a 20 20 20 20 20 6f 66 20 70 69 78 65 6c 73 29 20 67 65 6e ges.composed......of.pixels).gen
4e260 65 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 28 66 6f 72 20 64 72 61 77 eric.paint.programs.or.(for.draw
4e280 69 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 ings).some.widely......available
4e2a0 20 64 72 61 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 6e 64 20 74 68 61 74 20 69 73 20 73 75 69 .drawing.editor,.and.that.is.sui
4e2c0 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 0a 20 20 20 20 20 66 6f 72 table.for.input.to.text......for
4e2e0 6d 61 74 74 65 72 73 20 6f 72 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 74 72 61 6e 73 6c 61 matters.or.for.automatic.transla
4e300 74 69 6f 6e 20 74 6f 20 61 20 76 61 72 69 65 74 79 20 6f 66 20 66 6f 72 6d 61 74 73 0a 20 20 20 tion.to.a.variety.of.formats....
4e320 20 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 20 66 6f 72 ..suitable.for.input.to.text.for
4e340 6d 61 74 74 65 72 73 2e 20 20 41 20 63 6f 70 79 20 6d 61 64 65 20 69 6e 20 61 6e 20 6f 74 68 65 matters...A.copy.made.in.an.othe
4e360 72 77 69 73 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 72 65 6e 74 20 66 69 6c 65 20 66 6f 72 6d rwise......Transparent.file.form
4e380 61 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f 72 20 61 62 73 65 6e 63 65 20 6f 66 20 6d at.whose.markup,.or.absence.of.m
4e3a0 61 72 6b 75 70 2c 20 68 61 73 0a 20 20 20 20 20 62 65 65 6e 20 61 72 72 61 6e 67 65 64 20 74 6f arkup,.has......been.arranged.to
4e3c0 20 74 68 77 61 72 74 20 6f 72 20 64 69 73 63 6f 75 72 61 67 65 20 73 75 62 73 65 71 75 65 6e 74 .thwart.or.discourage.subsequent
4e3e0 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 0a 20 20 20 20 20 72 65 61 64 65 72 73 20 69 73 .modification.by......readers.is
4e400 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 20 20 41 6e 20 69 6d 61 67 65 20 66 6f 72 6d .not.Transparent...An.image.form
4e420 61 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 20 69 66 0a 20 20 20 20 20 75 73 at.is.not.Transparent.if......us
4e440 65 64 20 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e 74 69 61 6c 20 61 6d 6f 75 6e 74 20 6f 66 ed.for.any.substantial.amount.of
4e460 20 74 65 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 .text...A.copy.that.is.not......
4e480 e2 80 9c 54 72 61 6e 73 70 61 72 65 6e 74 e2 80 9d 20 69 73 20 63 61 6c 6c 65 64 20 e2 80 9c 4f ...Transparent....is.called....O
4e4a0 70 61 71 75 65 e2 80 9d 2e 0a 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 73 75 69 74 paque...........Examples.of.suit
4e4c0 61 62 6c 65 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 able.formats.for.Transparent.cop
4e4e0 69 65 73 20 69 6e 63 6c 75 64 65 20 70 6c 61 69 6e 0a 20 20 20 20 20 41 53 43 49 49 20 77 69 74 ies.include.plain......ASCII.wit
4e500 68 6f 75 74 20 6d 61 72 6b 75 70 2c 20 54 65 78 69 6e 66 6f 20 69 6e 70 75 74 20 66 6f 72 6d 61 hout.markup,.Texinfo.input.forma
4e520 74 2c 20 4c 61 54 65 58 20 69 6e 70 75 74 20 66 6f 72 6d 61 74 2c 0a 20 20 20 20 20 53 47 4d 4c t,.LaTeX.input.format,......SGML
4e540 20 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 .or.XML.using.a.publicly.availab
4e560 6c 65 20 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 72 64 2d 63 6f 6e 66 6f 72 6d 69 6e 67 0a le.DTD,.and.standard-conforming.
4e580 20 20 20 20 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 20 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 .....simple.HTML,.PostScript.or.
4e5a0 50 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 75 6d 61 6e 20 6d 6f 64 69 66 69 63 61 74 PDF.designed.for.human.modificat
4e5c0 69 6f 6e 2e 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 74 72 61 6e 73 70 61 72 65 6e ion.......Examples.of.transparen
4e5e0 74 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 50 4e 47 2c 20 58 43 46 t.image.formats.include.PNG,.XCF
4e600 20 61 6e 64 20 4a 50 47 2e 0a 20 20 20 20 20 4f 70 61 71 75 65 20 66 6f 72 6d 61 74 73 20 69 6e .and.JPG.......Opaque.formats.in
4e620 63 6c 75 64 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74 73 20 74 68 61 74 20 63 clude.proprietary.formats.that.c
4e640 61 6e 20 62 65 20 72 65 61 64 20 61 6e 64 0a 20 20 20 20 20 65 64 69 74 65 64 20 6f 6e 6c 79 20 an.be.read.and......edited.only.
4e660 62 79 20 70 72 6f 70 72 69 65 74 61 72 79 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 by.proprietary.word.processors,.
4e680 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 20 74 68 65 20 44 SGML.or.XML.for.which......the.D
4e6a0 54 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 65 73 73 69 6e 67 20 74 6f 6f 6c 73 20 61 72 65 20 6e TD.and/or.processing.tools.are.n
4e6c0 6f 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 2c 20 61 6e 64 0a 20 20 20 20 ot.generally.available,.and.....
4e6e0 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 2c 20 50 6f 73 .the.machine-generated.HTML,.Pos
4e700 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f 64 75 63 65 64 20 62 79 20 73 6f 6d 65 20 tScript.or.PDF.produced.by.some.
4e720 77 6f 72 64 0a 20 20 20 20 20 70 72 6f 63 65 73 73 6f 72 73 20 66 6f 72 20 6f 75 74 70 75 74 20 word......processors.for.output.
4e740 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 54 69 74 6c purposes.only........The....Titl
4e760 65 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 2c 20 66 6f 72 20 61 20 70 72 69 6e 74 65 64 20 62 e.Page....means,.for.a.printed.b
4e780 6f 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 20 69 74 73 65 6c 66 2c 0a 20 20 20 20 ook,.the.title.page.itself,.....
4e7a0 20 70 6c 75 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 73 20 61 73 20 61 72 .plus.such.following.pages.as.ar
4e7c0 65 20 6e 65 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 6c 65 67 69 62 6c 79 2c 20 74 68 65 0a 20 e.needed.to.hold,.legibly,.the..
4e7e0 20 20 20 20 6d 61 74 65 72 69 61 6c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 72 65 71 75 69 72 ....material.this.License.requir
4e800 65 73 20 74 6f 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 2e 20 es.to.appear.in.the.title.page..
4e820 20 46 6f 72 0a 20 20 20 20 20 77 6f 72 6b 73 20 69 6e 20 66 6f 72 6d 61 74 73 20 77 68 69 63 68 .For......works.in.formats.which
4e840 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 74 69 74 6c 65 20 70 61 67 65 20 61 73 20 73 .do.not.have.any.title.page.as.s
4e860 75 63 68 2c 20 e2 80 9c 54 69 74 6c 65 0a 20 20 20 20 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 uch,....Title......Page....means
4e880 20 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 20 6d 6f 73 74 20 70 72 6f 6d 69 6e 65 6e .the.text.near.the.most.prominen
4e8a0 74 20 61 70 70 65 61 72 61 6e 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b e2 80 99 t.appearance.of.the......work...
4e8c0 73 20 74 69 74 6c 65 2c 20 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 s.title,.preceding.the.beginning
4e8e0 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0a 0a 20 20 20 20 20 .of.the.body.of.the.text........
4e900 54 68 65 20 e2 80 9c 70 75 62 6c 69 73 68 65 72 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 79 20 70 65 The....publisher....means.any.pe
4e920 72 73 6f 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 65 73 20 rson.or.entity.that.distributes.
4e940 63 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 copies......of.the.Document.to.t
4e960 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 41 20 73 65 63 74 69 6f 6e 20 e2 80 9c 45 6e he.public........A.section....En
4e980 74 69 74 6c 65 64 20 58 59 5a e2 80 9d 20 6d 65 61 6e 73 20 61 20 6e 61 6d 65 64 20 73 75 62 75 titled.XYZ....means.a.named.subu
4e9a0 6e 69 74 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 77 68 6f 73 65 20 74 nit.of.the.Document......whose.t
4e9c0 69 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 58 59 5a 20 6f 72 20 itle.either.is.precisely.XYZ.or.
4e9e0 63 6f 6e 74 61 69 6e 73 20 58 59 5a 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 73 0a 20 20 20 20 contains.XYZ.in.parentheses.....
4ea00 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 78 74 20 74 68 61 74 20 74 72 61 6e 73 6c 61 74 65 73 20 .following.text.that.translates.
4ea20 58 59 5a 20 69 6e 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 20 XYZ.in.another.language...(Here.
4ea40 58 59 5a 0a 20 20 20 20 20 73 74 61 6e 64 73 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 73 XYZ......stands.for.a.specific.s
4ea60 65 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f 6e 65 64 20 62 65 6c 6f 77 2c 20 73 75 63 ection.name.mentioned.below,.suc
4ea80 68 20 61 73 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d h.as.........Acknowledgements...
4eaa0 2c 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 20 e2 80 9c 45 6e 64 6f 72 73 65 6d ,....Dedications...,....Endorsem
4eac0 65 6e 74 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2e 29 0a 20 20 20 20 ents...,.or....History....).....
4eae0 20 54 6f 20 e2 80 9c 50 72 65 73 65 72 76 65 20 74 68 65 20 54 69 74 6c 65 e2 80 9d 20 6f 66 20 .To....Preserve.the.Title....of.
4eb00 73 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 such.a.section.when.you.modify.t
4eb20 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 72 he......Document.means.that.it.r
4eb40 65 6d 61 69 6e 73 20 61 20 73 65 63 74 69 6f 6e 20 e2 80 9c 45 6e 74 69 74 6c 65 64 20 58 59 5a emains.a.section....Entitled.XYZ
4eb60 e2 80 9d 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 20 74 6f 20 74 68 69 73 20 64 65 66 69 6e ....according......to.this.defin
4eb80 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 61 79 20 69 6e ition........The.Document.may.in
4eba0 63 6c 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6e 65 78 74 20 clude.Warranty.Disclaimers.next.
4ebc0 74 6f 20 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 77 68 69 63 68 20 73 74 61 74 65 73 20 to.the.notice......which.states.
4ebe0 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 that.this.License.applies.to.the
4ec00 20 44 6f 63 75 6d 65 6e 74 2e 20 20 54 68 65 73 65 0a 20 20 20 20 20 57 61 72 72 61 6e 74 79 20 .Document...These......Warranty.
4ec20 44 69 73 63 6c 61 69 6d 65 72 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 Disclaimers.are.considered.to.be
4ec40 20 69 6e 63 6c 75 64 65 64 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 69 6e 0a 20 20 20 20 20 74 .included.by.reference.in......t
4ec60 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 73 20 72 65 67 61 72 64 73 his.License,.but.only.as.regards
4ec80 20 64 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 69 65 73 3a 20 61 6e 79 20 6f 74 68 .disclaiming.warranties:.any.oth
4eca0 65 72 0a 20 20 20 20 20 69 6d 70 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 74 68 65 73 65 20 57 er......implication.that.these.W
4ecc0 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6d 61 79 20 68 61 76 65 20 69 73 20 arranty.Disclaimers.may.have.is.
4ece0 76 6f 69 64 20 61 6e 64 0a 20 20 20 20 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 74 void.and......has.no.effect.on.t
4ed00 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 32 he.meaning.of.this.License.....2
4ed20 2e 20 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 ..VERBATIM.COPYING.......You.may
4ed40 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e .copy.and.distribute.the.Documen
4ed60 74 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 63 6f 6d t.in.any.medium,.either......com
4ed80 6d 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 20 70 72 mercially.or.noncommercially,.pr
4eda0 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 0a 20 20 ovided.that.this.License,.the...
4edc0 20 20 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 6e 64 20 74 68 65 20 6c 69 ...copyright.notices,.and.the.li
4ede0 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 73 61 79 69 6e 67 20 74 68 69 73 20 4c 69 63 65 6e 73 65 cense.notice.saying.this.License
4ee00 0a 20 20 20 20 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 72 ......applies.to.the.Document.ar
4ee20 65 20 72 65 70 72 6f 64 75 63 65 64 20 69 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2c 20 61 6e 64 20 e.reproduced.in.all.copies,.and.
4ee40 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 61 64 64 20 6e 6f 20 6f 74 68 65 72 20 63 6f 6e 64 69 that.you......add.no.other.condi
4ee60 74 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 6f 20 74 68 6f 73 65 20 6f 66 20 74 68 69 tions.whatsoever.to.those.of.thi
4ee80 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 0a 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 75 73 65 s.License...You......may.not.use
4eea0 20 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 6f 62 73 74 72 75 63 74 20 .technical.measures.to.obstruct.
4eec0 6f 72 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 72 65 61 64 69 6e 67 0a 20 20 20 20 20 6f 72 20 66 or.control.the.reading......or.f
4eee0 75 72 74 68 65 72 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 70 69 65 73 20 79 6f 75 urther.copying.of.the.copies.you
4ef00 20 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 2e 20 20 48 6f 77 65 76 65 72 2c 0a 20 .make.or.distribute...However,..
4ef20 20 20 20 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 20 63 6f 6d 70 65 6e 73 61 74 69 6f 6e 20 ....you.may.accept.compensation.
4ef40 69 6e 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f 70 69 65 73 2e 20 20 49 66 20 79 6f 75 0a in.exchange.for.copies...If.you.
4ef60 20 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 61 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 20 6e .....distribute.a.large.enough.n
4ef80 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 75 73 74 20 61 6c 73 6f 20 66 6f umber.of.copies.you.must.also.fo
4efa0 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 20 73 65 63 74 llow.the......conditions.in.sect
4efc0 69 6f 6e 20 33 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 6c 65 6e 64 20 63 ion.3........You.may.also.lend.c
4efe0 6f 70 69 65 73 2c 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 opies,.under.the.same.conditions
4f000 20 73 74 61 74 65 64 20 61 62 6f 76 65 2c 0a 20 20 20 20 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 .stated.above,......and.you.may.
4f020 70 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 20 63 6f 70 69 65 73 2e 0a 0a 20 20 33 2e 20 43 publicly.display.copies.....3..C
4f040 4f 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 OPYING.IN.QUANTITY.......If.you.
4f060 70 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f 70 69 65 73 20 28 6f 72 20 63 6f 70 69 65 publish.printed.copies.(or.copie
4f080 73 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f 6d 6d 6f 6e 6c 79 0a 20 20 20 20 20 68 61 s.in.media.that.commonly......ha
4f0a0 76 65 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 ve.printed.covers).of.the.Docume
4f0c0 6e 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 61 6e 64 nt,.numbering.more.than.100,.and
4f0e0 0a 20 20 20 20 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 6c 69 63 65 6e 73 65 20 6e ......the.Document...s.license.n
4f100 6f 74 69 63 65 20 72 65 71 75 69 72 65 73 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 79 6f 75 20 otice.requires.Cover.Texts,.you.
4f120 6d 75 73 74 0a 20 20 20 20 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 63 6f 70 69 65 73 20 69 6e 20 must......enclose.the.copies.in.
4f140 63 6f 76 65 72 73 20 74 68 61 74 20 63 61 72 72 79 2c 20 63 6c 65 61 72 6c 79 20 61 6e 64 20 6c covers.that.carry,.clearly.and.l
4f160 65 67 69 62 6c 79 2c 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 73 65 20 43 6f 76 65 72 20 54 65 78 egibly,.all......these.Cover.Tex
4f180 74 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 20 74 68 65 20 66 72 6f ts:.Front-Cover.Texts.on.the.fro
4f1a0 6e 74 20 63 6f 76 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 nt.cover,.and......Back-Cover.Te
4f1c0 78 74 73 20 6f 6e 20 74 68 65 20 62 61 63 6b 20 63 6f 76 65 72 2e 20 20 42 6f 74 68 20 63 6f 76 xts.on.the.back.cover...Both.cov
4f1e0 65 72 73 20 6d 75 73 74 20 61 6c 73 6f 20 63 6c 65 61 72 6c 79 0a 20 20 20 20 20 61 6e 64 20 6c ers.must.also.clearly......and.l
4f200 65 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 20 79 6f 75 20 61 73 20 74 68 65 20 70 75 62 6c 69 egibly.identify.you.as.the.publi
4f220 73 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 65 73 2e 20 20 54 68 65 0a 20 20 20 20 20 sher.of.these.copies...The......
4f240 66 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 72 65 73 65 6e 74 20 74 68 65 20 66 75 6c front.cover.must.present.the.ful
4f260 6c 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 74 69 l.title.with.all.words.of.the.ti
4f280 74 6c 65 0a 20 20 20 20 20 65 71 75 61 6c 6c 79 20 70 72 6f 6d 69 6e 65 6e 74 20 61 6e 64 20 76 tle......equally.prominent.and.v
4f2a0 69 73 69 62 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 6f 74 68 65 72 20 6d 61 74 65 72 isible...You.may.add.other.mater
4f2c0 69 61 6c 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 63 6f 76 65 72 73 20 69 6e 20 61 64 64 69 74 69 ial.on.the......covers.in.additi
4f2e0 6f 6e 2e 20 20 43 6f 70 79 69 6e 67 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 6c 69 6d 69 74 65 on...Copying.with.changes.limite
4f300 64 20 74 6f 20 74 68 65 20 63 6f 76 65 72 73 2c 20 61 73 0a 20 20 20 20 20 6c 6f 6e 67 20 61 73 d.to.the.covers,.as......long.as
4f320 20 74 68 65 79 20 70 72 65 73 65 72 76 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 74 68 65 20 .they.preserve.the.title.of.the.
4f340 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 73 61 74 69 73 66 79 20 74 68 65 73 65 0a 20 20 20 20 20 Document.and.satisfy.these......
4f360 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 76 65 conditions,.can.be.treated.as.ve
4f380 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 rbatim.copying.in.other.respects
4f3a0 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 74 65 78 74 73 20 66 6f ........If.the.required.texts.fo
4f3c0 72 20 65 69 74 68 65 72 20 63 6f 76 65 72 20 61 72 65 20 74 6f 6f 20 76 6f 6c 75 6d 69 6e 6f 75 r.either.cover.are.too.voluminou
4f3e0 73 20 74 6f 20 66 69 74 0a 20 20 20 20 20 6c 65 67 69 62 6c 79 2c 20 79 6f 75 20 73 68 6f 75 6c s.to.fit......legibly,.you.shoul
4f400 64 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 73 20 6c 69 73 74 65 64 20 28 61 73 20 d.put.the.first.ones.listed.(as.
4f420 6d 61 6e 79 20 61 73 20 66 69 74 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 79 29 20 6f 6e 20 many.as.fit......reasonably).on.
4f440 74 68 65 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 the.actual.cover,.and.continue.t
4f460 68 65 20 72 65 73 74 20 6f 6e 74 6f 0a 20 20 20 20 20 61 64 6a 61 63 65 6e 74 20 70 61 67 65 73 he.rest.onto......adjacent.pages
4f480 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 6f 72 20 64 69 73 74 72 69 ........If.you.publish.or.distri
4f4a0 62 75 74 65 20 4f 70 61 71 75 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 bute.Opaque.copies.of.the.Docume
4f4c0 6e 74 0a 20 20 20 20 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c nt......numbering.more.than.100,
4f4e0 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 69 6e 63 6c 75 64 65 20 61 20 6d 61 63 68 69 .you.must.either.include.a.machi
4f500 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 ne-readable......Transparent.cop
4f520 79 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 4f 70 61 71 75 65 20 63 6f 70 79 2c 20 6f y.along.with.each.Opaque.copy,.o
4f540 72 20 73 74 61 74 65 20 69 6e 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 65 61 63 68 20 4f 70 61 r.state.in.or.with......each.Opa
4f560 71 75 65 20 63 6f 70 79 20 61 20 63 6f 6d 70 75 74 65 72 2d 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 que.copy.a.computer-network.loca
4f580 74 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 67 65 6e 65 72 61 6c 0a 20 20 20 20 tion.from.which.the.general.....
4f5a0 20 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 20 70 75 62 6c 69 63 20 68 61 73 20 61 63 63 65 73 73 .network-using.public.has.access
4f5c0 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 20 70 75 62 6c 69 63 2d 73 74 61 6e 64 61 .to.download.using.public-standa
4f5e0 72 64 0a 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 73 20 61 20 63 6f 6d 70 rd......network.protocols.a.comp
4f600 6c 65 74 65 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 lete.Transparent.copy.of.the.Doc
4f620 75 6d 65 6e 74 2c 20 66 72 65 65 0a 20 20 20 20 20 6f 66 20 61 64 64 65 64 20 6d 61 74 65 72 69 ument,.free......of.added.materi
4f640 61 6c 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f al...If.you.use.the.latter.optio
4f660 6e 2c 20 79 6f 75 20 6d 75 73 74 20 74 61 6b 65 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 79 n,.you.must.take......reasonably
4f680 20 70 72 75 64 65 6e 74 20 73 74 65 70 73 2c 20 77 68 65 6e 20 79 6f 75 20 62 65 67 69 6e 20 64 .prudent.steps,.when.you.begin.d
4f6a0 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 4f 70 61 71 75 65 0a 20 20 20 20 20 63 6f 70 69 65 istribution.of.Opaque......copie
4f6c0 73 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 s.in.quantity,.to.ensure.that.th
4f6e0 69 73 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 77 69 6c 6c 0a 20 20 20 20 20 72 65 is.Transparent.copy.will......re
4f700 6d 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74 68 65 20 73 74 61 74 main.thus.accessible.at.the.stat
4f720 65 64 20 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 20 ed.location.until.at.least.one..
4f740 20 20 20 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 74 69 6d 65 20 79 6f 75 ....year.after.the.last.time.you
4f760 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 20 4f 70 61 71 75 65 20 63 6f 70 79 20 28 64 69 72 65 .distribute.an.Opaque.copy.(dire
4f780 63 74 6c 79 20 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 61 67 65 6e 74 73 ctly.or......through.your.agents
4f7a0 20 6f 72 20 72 65 74 61 69 6c 65 72 73 29 20 6f 66 20 74 68 61 74 20 65 64 69 74 69 6f 6e 20 74 .or.retailers).of.that.edition.t
4f7c0 6f 20 74 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 49 74 20 69 73 20 72 65 71 75 65 73 o.the.public........It.is.reques
4f7e0 74 65 64 2c 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2c 20 74 68 61 74 20 79 6f 75 20 ted,.but.not.required,.that.you.
4f800 63 6f 6e 74 61 63 74 20 74 68 65 20 61 75 74 68 6f 72 73 20 6f 66 0a 20 20 20 20 20 74 68 65 20 contact.the.authors.of......the.
4f820 44 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 65 66 6f 72 65 20 72 65 64 69 73 74 72 69 62 75 74 Document.well.before.redistribut
4f840 69 6e 67 20 61 6e 79 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 2c 0a ing.any.large.number.of.copies,.
4f860 20 20 20 20 20 74 6f 20 67 69 76 65 20 74 68 65 6d 20 61 20 63 68 61 6e 63 65 20 74 6f 20 70 72 .....to.give.them.a.chance.to.pr
4f880 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 61 6e 20 75 70 64 61 74 65 64 20 76 65 72 73 69 6f ovide.you.with.an.updated.versio
4f8a0 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 34 2e 20 4d 4f n.of.the......Document.....4..MO
4f8c0 44 49 46 49 43 41 54 49 4f 4e 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 DIFICATIONS.......You.may.copy.a
4f8e0 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e nd.distribute.a.Modified.Version
4f900 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 .of.the.Document......under.the.
4f920 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 32 20 61 6e 64 20 33 20 61 conditions.of.sections.2.and.3.a
4f940 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 72 65 6c bove,.provided.that.you......rel
4f960 65 61 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 ease.the.Modified.Version.under.
4f980 70 72 65 63 69 73 65 6c 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 69 74 68 20 74 68 65 precisely.this.License,.with.the
4f9a0 0a 20 20 20 20 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 66 69 6c 6c 69 6e 67 20 74 ......Modified.Version.filling.t
4f9c0 68 65 20 72 6f 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 75 73 20 6c 69 he.role.of.the.Document,.thus.li
4f9e0 63 65 6e 73 69 6e 67 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f censing......distribution.and.mo
4fa00 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 dification.of.the.Modified.Versi
4fa20 6f 6e 20 74 6f 20 77 68 6f 65 76 65 72 0a 20 20 20 20 20 70 6f 73 73 65 73 73 65 73 20 61 20 63 on.to.whoever......possesses.a.c
4fa40 6f 70 79 20 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 opy.of.it...In.addition,.you.mus
4fa60 74 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 4d 6f t.do.these.things.in......the.Mo
4fa80 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 41 2e 20 55 73 65 20 69 dified.Version:.........A..Use.i
4faa0 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 61 6e 64 20 6f 6e 20 74 68 65 20 63 6f 76 n.the.Title.Page.(and.on.the.cov
4fac0 65 72 73 2c 20 69 66 20 61 6e 79 29 20 61 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 64 ers,.if.any).a.title...........d
4fae0 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e istinct.from.that.of.the.Documen
4fb00 74 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 6f 66 20 70 72 65 76 69 6f 75 73 0a 20 20 t,.and.from.those.of.previous...
4fb20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 28 77 68 69 63 68 20 73 68 6f 75 6c 64 2c 20 ........versions.(which.should,.
4fb40 69 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 79 2c 20 62 65 20 6c 69 73 74 65 64 20 69 6e 20 if.there.were.any,.be.listed.in.
4fb60 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 48 69 73 74 6f 72 79 20 73 65 63 74 69 6f 6e 20 6f 66 the...........History.section.of
4fb80 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 20 59 6f 75 20 6d 61 79 20 75 73 65 20 74 68 65 .the.Document)...You.may.use.the
4fba0 20 73 61 6d 65 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 61 73 20 61 20 70 72 65 76 69 .same.title...........as.a.previ
4fbc0 6f 75 73 20 76 65 72 73 69 6f 6e 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 75 62 6c ous.version.if.the.original.publ
4fbe0 69 73 68 65 72 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 isher.of.that...........version.
4fc00 67 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 42 2e 20 4c 69 73 gives.permission..........B..Lis
4fc20 74 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 2c 20 61 73 20 61 75 74 68 6f 72 73 2c t.on.the.Title.Page,.as.authors,
4fc40 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 70 65 72 73 6f 6e 73 20 6f 72 0a 20 20 20 20 20 20 20 20 .one.or.more.persons.or.........
4fc60 20 20 65 6e 74 69 74 69 65 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 61 75 74 68 6f ..entities.responsible.for.autho
4fc80 72 73 68 69 70 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 69 6e 0a 20 20 rship.of.the.modifications.in...
4fca0 20 20 20 20 20 20 20 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2c 20 74 6f ........the.Modified.Version,.to
4fcc0 67 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 66 69 76 65 20 6f 66 20 74 68 65 gether.with.at.least.five.of.the
4fce0 0a 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20 ...........principal.authors.of.
4fd00 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 28 61 6c 6c 20 6f 66 20 69 74 73 20 70 72 69 6e 63 69 70 the.Document.(all.of.its.princip
4fd20 61 6c 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 73 2c 20 69 66 20 69 74 20 68 61 73 20 al...........authors,.if.it.has.
4fd40 66 65 77 65 72 20 74 68 61 6e 20 66 69 76 65 29 2c 20 75 6e 6c 65 73 73 20 74 68 65 79 20 72 65 fewer.than.five),.unless.they.re
4fd60 6c 65 61 73 65 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 69 73 20 72 65 lease.you...........from.this.re
4fd80 71 75 69 72 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 20 43 2e 20 53 74 61 74 65 20 6f 6e 20 74 quirement..........C..State.on.t
4fda0 68 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 75 he.Title.page.the.name.of.the.pu
4fdc0 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 4d 6f 64 69 66 69 65 blisher.of.the...........Modifie
4fde0 64 20 56 65 72 73 69 6f 6e 2c 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 0a 0a 20 20 d.Version,.as.the.publisher.....
4fe00 20 20 20 20 20 44 2e 20 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 63 6f 70 79 72 69 67 .....D..Preserve.all.the.copyrig
4fe20 68 74 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 ht.notices.of.the.Document......
4fe40 20 20 20 20 45 2e 20 41 64 64 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 ....E..Add.an.appropriate.copyri
4fe60 67 68 74 20 6e 6f 74 69 63 65 20 66 6f 72 20 79 6f 75 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e ght.notice.for.your.modification
4fe80 73 0a 20 20 20 20 20 20 20 20 20 20 61 64 6a 61 63 65 6e 74 20 74 6f 20 74 68 65 20 6f 74 68 65 s...........adjacent.to.the.othe
4fea0 72 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2e 0a 0a 20 20 20 20 20 20 20 46 2e 20 r.copyright.notices..........F..
4fec0 49 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 20 63 Include,.immediately.after.the.c
4fee0 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 20 6c 69 63 65 6e 73 65 0a 20 20 20 20 opyright.notices,.a.license.....
4ff00 20 20 20 20 20 20 6e 6f 74 69 63 65 20 67 69 76 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 20 70 ......notice.giving.the.public.p
4ff20 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 0a 20 20 ermission.to.use.the.Modified...
4ff40 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 ........Version.under.the.terms.
4ff60 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 73 68 6f of.this.License,.in.the.form.sho
4ff80 77 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 41 64 64 65 6e 64 75 6d 20 62 65 6c wn.in...........the.Addendum.bel
4ffa0 6f 77 2e 0a 0a 20 20 20 20 20 20 20 47 2e 20 50 72 65 73 65 72 76 65 20 69 6e 20 74 68 61 74 20 ow..........G..Preserve.in.that.
4ffc0 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 73 20 6f 66 license.notice.the.full.lists.of
4ffe0 20 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 20 20 20 20 20 20 53 65 63 74 69 6f 6e 73 20 61 6e .Invariant...........Sections.an
50000 64 20 72 65 71 75 69 72 65 64 20 43 6f 76 65 72 20 54 65 78 74 73 20 67 69 76 65 6e 20 69 6e 20 d.required.Cover.Texts.given.in.
50020 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 0a 20 20 20 20 20 20 20 20 20 20 6c 69 63 65 6e the.Document...s...........licen
50040 73 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 20 20 48 2e 20 49 6e 63 6c 75 64 65 20 61 6e se.notice..........H..Include.an
50060 20 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e .unaltered.copy.of.this.License.
50080 0a 0a 20 20 20 20 20 20 20 49 2e 20 50 72 65 73 65 72 76 65 20 74 68 65 20 73 65 63 74 69 6f 6e .........I..Preserve.the.section
500a0 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2c 20 50 72 65 73 65 72 76 .Entitled....History...,.Preserv
500c0 65 20 69 74 73 20 54 69 74 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 64 64 20 74 e.its.Title,...........and.add.t
500e0 6f 20 69 74 20 61 6e 20 69 74 65 6d 20 73 74 61 74 69 6e 67 20 61 74 20 6c 65 61 73 74 20 74 68 o.it.an.item.stating.at.least.th
50100 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 e.title,.year,.new...........aut
50120 68 6f 72 73 2c 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 4d 6f 64 69 66 hors,.and.publisher.of.the.Modif
50140 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 67 69 76 65 6e 20 6f 6e 20 74 68 65 0a 20 20 20 20 ied.Version.as.given.on.the.....
50160 20 20 20 20 20 20 54 69 74 6c 65 20 50 61 67 65 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e ......Title.Page...If.there.is.n
50180 6f 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d o.section.Entitled....History...
501a0 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2c 20 63 72 65 61 .in.the...........Document,.crea
501c0 74 65 20 6f 6e 65 20 73 74 61 74 69 6e 67 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 te.one.stating.the.title,.year,.
501e0 61 75 74 68 6f 72 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 73 68 65 72 authors,.and...........publisher
50200 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 73 20 67 69 76 65 6e 20 6f 6e 20 69 74 73 .of.the.Document.as.given.on.its
50220 20 54 69 74 6c 65 20 50 61 67 65 2c 20 74 68 65 6e 20 61 64 64 0a 20 20 20 20 20 20 20 20 20 20 .Title.Page,.then.add...........
50240 61 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 an.item.describing.the.Modified.
50260 56 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 Version.as.stated.in.the........
50280 20 20 20 70 72 65 76 69 6f 75 73 20 73 65 6e 74 65 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 4a 2e ...previous.sentence..........J.
502a0 20 50 72 65 73 65 72 76 65 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 2c 20 .Preserve.the.network.location,.
502c0 69 66 20 61 6e 79 2c 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 if.any,.given.in.the.Document...
502e0 20 20 20 20 20 20 20 20 66 6f 72 20 70 75 62 6c 69 63 20 61 63 63 65 73 73 20 74 6f 20 61 20 54 ........for.public.access.to.a.T
50300 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c ransparent.copy.of.the.Document,
50320 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6c 69 6b 65 77 69 73 65 20 74 68 65 20 6e 65 74 77 .and...........likewise.the.netw
50340 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d ork.locations.given.in.the.Docum
50360 65 6e 74 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 ent.for...........previous.versi
50380 6f 6e 73 20 69 74 20 77 61 73 20 62 61 73 65 64 20 6f 6e 2e 20 20 54 68 65 73 65 20 6d 61 79 20 ons.it.was.based.on...These.may.
503a0 62 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 e2 80 9c 48 69 be.placed.in.the..............Hi
503c0 73 74 6f 72 79 e2 80 9d 20 73 65 63 74 69 6f 6e 2e 20 20 59 6f 75 20 6d 61 79 20 6f 6d 69 74 20 story....section...You.may.omit.
503e0 61 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 61 20 77 6f 72 6b 0a 20 20 a.network.location.for.a.work...
50400 20 20 20 20 20 20 20 20 74 68 61 74 20 77 61 73 20 70 75 62 6c 69 73 68 65 64 20 61 74 20 6c 65 ........that.was.published.at.le
50420 61 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 44 6f 63 75 6d 65 ast.four.years.before.the.Docume
50440 6e 74 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 65 6c 66 2c 20 6f 72 20 69 66 20 74 68 65 20 6f nt...........itself,.or.if.the.o
50460 72 69 67 69 6e 61 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e riginal.publisher.of.the.version
50480 20 69 74 20 72 65 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 67 69 76 65 73 20 70 65 .it.refers...........to.gives.pe
504a0 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4b 2e 20 46 6f 72 20 61 6e 79 20 73 65 63 rmission..........K..For.any.sec
504c0 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 tion.Entitled....Acknowledgement
504e0 73 e2 80 9d 20 6f 72 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 0a 20 20 20 20 20 s....or....Dedications...,......
50500 20 20 20 20 20 50 72 65 73 65 72 76 65 20 74 68 65 20 54 69 74 6c 65 20 6f 66 20 74 68 65 20 73 .....Preserve.the.Title.of.the.s
50520 65 63 74 69 6f 6e 2c 20 61 6e 64 20 70 72 65 73 65 72 76 65 20 69 6e 20 74 68 65 20 73 65 63 74 ection,.and.preserve.in.the.sect
50540 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 61 6c 6c 20 74 68 65 20 73 75 62 73 74 61 6e 63 65 20 ion...........all.the.substance.
50560 61 6e 64 20 74 6f 6e 65 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 and.tone.of.each.of.the.contribu
50580 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 20 61 tor...........acknowledgements.a
505a0 6e 64 2f 6f 72 20 64 65 64 69 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 74 68 65 72 65 69 6e 2e nd/or.dedications.given.therein.
505c0 0a 0a 20 20 20 20 20 20 20 4c 2e 20 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 49 6e 76 .........L..Preserve.all.the.Inv
505e0 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c ariant.Sections.of.the.Document,
50600 20 75 6e 61 6c 74 65 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 69 72 20 74 65 .unaltered...........in.their.te
50620 78 74 20 61 6e 64 20 69 6e 20 74 68 65 69 72 20 74 69 74 6c 65 73 2e 20 20 53 65 63 74 69 6f 6e xt.and.in.their.titles...Section
50640 20 6e 75 6d 62 65 72 73 20 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 .numbers.or.the...........equiva
50660 6c 65 6e 74 20 61 72 65 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 65 64 20 70 61 72 74 20 6f 66 20 lent.are.not.considered.part.of.
50680 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 20 20 20 20 20 20 20 4d 2e 20 44 the.section.titles..........M..D
506a0 65 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e elete.any.section.Entitled....En
506c0 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2e 20 20 53 75 63 68 20 61 20 73 65 63 74 69 6f 6e 0a 20 dorsements......Such.a.section..
506e0 20 20 20 20 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 .........may.not.be.included.in.
50700 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4e 2e the.Modified.Version..........N.
50720 20 44 6f 20 6e 6f 74 20 72 65 74 69 74 6c 65 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 73 65 63 .Do.not.retitle.any.existing.sec
50740 74 69 6f 6e 20 74 6f 20 62 65 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 e2 80 tion.to.be.Entitled.............
50760 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 20 6f 72 20 74 6f 20 63 6f 6e 66 6c 69 63 74 20 .Endorsements....or.to.conflict.
50780 69 6e 20 74 69 74 6c 65 20 77 69 74 68 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 in.title.with.any.Invariant.....
507a0 20 20 20 20 20 20 53 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4f 2e 20 50 72 65 73 65 72 ......Section..........O..Preser
507c0 76 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 0a 20 20 ve.any.Warranty.Disclaimers.....
507e0 20 20 20 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 69 6e 63 6c 75 ...If.the.Modified.Version.inclu
50800 64 65 73 20 6e 65 77 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 73 20 6f 72 des.new.front-matter.sections.or
50820 0a 20 20 20 20 20 61 70 70 65 6e 64 69 63 65 73 20 74 68 61 74 20 71 75 61 6c 69 66 79 20 61 73 ......appendices.that.qualify.as
50840 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 74 61 69 6e 20 .Secondary.Sections.and.contain.
50860 6e 6f 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 no......material.copied.from.the
50880 20 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f .Document,.you.may.at.your.optio
508a0 6e 20 64 65 73 69 67 6e 61 74 65 0a 20 20 20 20 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 n.designate......some.or.all.of.
508c0 74 68 65 73 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 69 6e 76 61 72 69 61 6e 74 2e 20 20 54 6f these.sections.as.invariant...To
508e0 20 64 6f 20 74 68 69 73 2c 20 61 64 64 20 74 68 65 69 72 0a 20 20 20 20 20 74 69 74 6c 65 73 20 .do.this,.add.their......titles.
50900 74 6f 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e to.the.list.of.Invariant.Section
50920 73 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e e2 80 99 73 0a 20 20 s.in.the.Modified.Version...s...
50940 20 20 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 20 20 54 68 65 73 65 20 74 69 74 6c 65 73 ...license.notice...These.titles
50960 20 6d 75 73 74 20 62 65 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 61 6e 79 20 6f 74 68 65 72 .must.be.distinct.from.any.other
50980 0a 20 20 20 20 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 ......section.titles........You.
509a0 6d 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e may.add.a.section.Entitled....En
509c0 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2c 20 70 72 6f 76 69 64 65 64 20 69 74 20 63 6f 6e 74 61 dorsements...,.provided.it.conta
509e0 69 6e 73 0a 20 20 20 20 20 6e 6f 74 68 69 6e 67 20 62 75 74 20 65 6e 64 6f 72 73 65 6d 65 6e 74 ins......nothing.but.endorsement
50a00 73 20 6f 66 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 62 79 20 76 61 s.of.your.Modified.Version.by.va
50a20 72 69 6f 75 73 0a 20 20 20 20 20 70 61 72 74 69 65 73 e2 80 94 66 6f 72 20 65 78 61 6d 70 6c 65 rious......parties...for.example
50a40 2c 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 70 65 65 72 20 72 65 76 69 65 77 20 6f 72 20 74 ,.statements.of.peer.review.or.t
50a60 68 61 74 20 74 68 65 20 74 65 78 74 20 68 61 73 0a 20 20 20 20 20 62 65 65 6e 20 61 70 70 72 6f hat.the.text.has......been.appro
50a80 76 65 64 20 62 79 20 61 6e 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 61 73 20 74 68 65 20 61 75 ved.by.an.organization.as.the.au
50aa0 74 68 6f 72 69 74 61 74 69 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 61 thoritative.definition.of......a
50ac0 20 73 74 61 6e 64 61 72 64 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 61 20 70 .standard........You.may.add.a.p
50ae0 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 66 69 76 65 20 77 6f 72 64 73 20 61 73 20 61 20 assage.of.up.to.five.words.as.a.
50b00 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 2c 0a 20 20 20 20 20 61 6e 64 20 61 20 70 61 73 Front-Cover.Text,......and.a.pas
50b20 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 6f 72 64 73 20 61 73 20 61 20 42 61 63 6b sage.of.up.to.25.words.as.a.Back
50b40 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 -Cover.Text,.to.the.end.of......
50b60 74 68 65 20 6c 69 73 74 20 6f 66 20 43 6f 76 65 72 20 54 65 78 74 73 20 69 6e 20 74 68 65 20 4d the.list.of.Cover.Texts.in.the.M
50b80 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 4f 6e 6c 79 20 6f 6e 65 20 70 61 73 73 61 odified.Version...Only.one.passa
50ba0 67 65 0a 20 20 20 20 20 6f 66 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 20 61 6e 64 20 ge......of.Front-Cover.Text.and.
50bc0 6f 6e 65 20 6f 66 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 64 one.of.Back-Cover.Text.may.be.ad
50be0 64 65 64 20 62 79 20 28 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 61 72 72 61 6e 67 65 6d ded.by.(or......through.arrangem
50c00 65 6e 74 73 20 6d 61 64 65 20 62 79 29 20 61 6e 79 20 6f 6e 65 20 65 6e 74 69 74 79 2e 20 20 49 ents.made.by).any.one.entity...I
50c20 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 61 6c 72 65 61 64 79 20 69 6e 63 6c f.the.Document......already.incl
50c40 75 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 63 udes.a.cover.text.for.the.same.c
50c60 6f 76 65 72 2c 20 70 72 65 76 69 6f 75 73 6c 79 20 61 64 64 65 64 0a 20 20 20 20 20 62 79 20 79 over,.previously.added......by.y
50c80 6f 75 20 6f 72 20 62 79 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 6d 61 64 65 20 62 79 20 74 68 65 ou.or.by.arrangement.made.by.the
50ca0 20 73 61 6d 65 20 65 6e 74 69 74 79 20 79 6f 75 20 61 72 65 20 61 63 74 69 6e 67 20 6f 6e 0a 20 .same.entity.you.are.acting.on..
50cc0 20 20 20 20 62 65 68 61 6c 66 20 6f 66 2c 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 61 64 64 20 61 ....behalf.of,.you.may.not.add.a
50ce0 6e 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 79 20 72 65 70 6c 61 63 65 20 74 68 65 20 nother;.but.you.may.replace.the.
50d00 6f 6c 64 0a 20 20 20 20 20 6f 6e 65 2c 20 6f 6e 20 65 78 70 6c 69 63 69 74 20 70 65 72 6d 69 73 old......one,.on.explicit.permis
50d20 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 75 62 6c 69 73 68 65 72 sion.from.the.previous.publisher
50d40 20 74 68 61 74 20 61 64 64 65 64 0a 20 20 20 20 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2e 0a 0a 20 .that.added......the.old.one....
50d60 20 20 20 20 54 68 65 20 61 75 74 68 6f 72 28 73 29 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 28 ....The.author(s).and.publisher(
50d80 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 20 6e 6f 74 20 62 79 20 74 68 69 s).of.the.Document.do.not.by.thi
50da0 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 67 69 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 s......License.give.permission.t
50dc0 6f 20 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 o.use.their.names.for.publicity.
50de0 66 6f 72 20 6f 72 20 74 6f 0a 20 20 20 20 20 61 73 73 65 72 74 20 6f 72 20 69 6d 70 6c 79 20 65 for.or.to......assert.or.imply.e
50e00 6e 64 6f 72 73 65 6d 65 6e 74 20 6f 66 20 61 6e 79 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 ndorsement.of.any.Modified.Versi
50e20 6f 6e 2e 0a 0a 20 20 35 2e 20 43 4f 4d 42 49 4e 49 4e 47 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 20 on.....5..COMBINING.DOCUMENTS...
50e40 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 ....You.may.combine.the.Document
50e60 20 77 69 74 68 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 .with.other.documents.released.u
50e80 6e 64 65 72 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 75 6e 64 65 72 20 74 68 nder......this.License,.under.th
50ea0 65 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 61 62 6f e.terms.defined.in.section.4.abo
50ec0 76 65 20 66 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 2c 20 70 ve.for......modified.versions,.p
50ee0 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 rovided.that.you.include.in.the.
50f00 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 0a 20 20 20 20 20 6f 66 20 74 68 65 20 49 6e 76 61 combination.all......of.the.Inva
50f20 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 6f 72 69 riant.Sections.of.all.of.the.ori
50f40 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 0a 20 20 20 20 20 75 6e 6d 6f 64 69 66 69 65 64 ginal.documents,......unmodified
50f60 2c 20 61 6e 64 20 6c 69 73 74 20 74 68 65 6d 20 61 6c 6c 20 61 73 20 49 6e 76 61 72 69 61 6e 74 ,.and.list.them.all.as.Invariant
50f80 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 .Sections.of.your......combined.
50fa0 77 6f 72 6b 20 69 6e 20 69 74 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 work.in.its.license.notice,.and.
50fc0 74 68 61 74 20 79 6f 75 20 70 72 65 73 65 72 76 65 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 69 72 that.you.preserve.all......their
50fe0 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 0a 20 20 20 20 20 54 68 65 .Warranty.Disclaimers........The
51000 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 64 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e .combined.work.need.only.contain
51020 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 0a 20 .one.copy.of.this.License,.and..
51040 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 69 63 61 6c 20 49 6e 76 61 72 69 61 6e 74 ....multiple.identical.Invariant
51060 20 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 61 .Sections.may.be.replaced.with.a
51080 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 6f 70 79 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 .single......copy...If.there.are
510a0 20 6d 75 6c 74 69 70 6c 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 .multiple.Invariant.Sections.wit
510c0 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 0a 20 20 20 20 20 62 75 74 20 64 69 66 66 65 72 65 h.the.same.name......but.differe
510e0 6e 74 20 63 6f 6e 74 65 6e 74 73 2c 20 6d 61 6b 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 65 nt.contents,.make.the.title.of.e
51100 61 63 68 20 73 75 63 68 20 73 65 63 74 69 6f 6e 20 75 6e 69 71 75 65 0a 20 20 20 20 20 62 79 20 ach.such.section.unique......by.
51120 61 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 69 74 2c 20 69 6e 20 70 61 72 65 adding.at.the.end.of.it,.in.pare
51140 6e 74 68 65 73 65 73 2c 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6f 72 ntheses,.the.name.of.the......or
51160 69 67 69 6e 61 6c 20 61 75 74 68 6f 72 20 6f 72 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 iginal.author.or.publisher.of.th
51180 61 74 20 73 65 63 74 69 6f 6e 20 69 66 20 6b 6e 6f 77 6e 2c 20 6f 72 20 65 6c 73 65 20 61 0a 20 at.section.if.known,.or.else.a..
511a0 20 20 20 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e 20 20 4d 61 6b 65 20 74 68 65 20 73 61 6d ....unique.number...Make.the.sam
511c0 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c e.adjustment.to.the.section.titl
511e0 65 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 es.in......the.list.of.Invariant
51200 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 .Sections.in.the.license.notice.
51220 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 of.the......combined.work.......
51240 20 49 6e 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 6f .In.the.combination,.you.must.co
51260 6d 62 69 6e 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 mbine.any.sections.Entitled.....
51280 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 6f 72 ....History....in.the.various.or
512a0 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 20 66 6f 72 6d 69 6e 67 20 6f 6e 65 20 73 65 iginal.documents,.forming.one.se
512c0 63 74 69 6f 6e 0a 20 20 20 20 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 ction......Entitled....History..
512e0 9d 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 .;.likewise.combine.any.sections
51300 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e .Entitled.........Acknowledgemen
51320 74 73 e2 80 9d 2c 20 61 6e 64 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 ts...,.and.any.sections.Entitled
51340 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2e 20 20 59 6f 75 0a 20 20 20 20 20 6d 75 ....Dedications......You......mu
51360 73 74 20 64 65 6c 65 74 65 20 61 6c 6c 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 st.delete.all.sections.Entitled.
51380 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 2e e2 80 9d 0a 0a 20 20 36 2e 20 43 4f 4c 4c 45 43 ...Endorsements........6..COLLEC
513a0 54 49 4f 4e 53 20 4f 46 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 TIONS.OF.DOCUMENTS.......You.may
513c0 20 6d 61 6b 65 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 .make.a.collection.consisting.of
513e0 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 6f 74 68 65 72 0a 20 20 20 20 20 64 6f 63 .the.Document.and.other......doc
51400 75 6d 65 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e uments.released.under.this.Licen
51420 73 65 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 se,.and.replace.the.individual..
51440 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 ....copies.of.this.License.in.th
51460 65 20 76 61 72 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 73 20 77 69 74 68 20 61 20 73 69 6e 67 6c e.various.documents.with.a.singl
51480 65 20 63 6f 70 79 0a 20 20 20 20 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 e.copy......that.is.included.in.
514a0 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f the.collection,.provided.that.yo
514c0 75 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 72 75 6c 65 73 20 6f 66 20 74 68 69 73 20 u.follow.the......rules.of.this.
514e0 4c 69 63 65 6e 73 65 20 66 6f 72 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 License.for.verbatim.copying.of.
51500 65 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 73 0a 20 20 20 20 20 69 6e 20 61 6c each.of.the.documents......in.al
51520 6c 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 l.other.respects........You.may.
51540 65 78 74 72 61 63 74 20 61 20 73 69 6e 67 6c 65 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 73 extract.a.single.document.from.s
51560 75 63 68 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 64 69 73 74 72 uch.a.collection,.and......distr
51580 69 62 75 74 65 20 69 74 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 6e 64 65 72 20 74 68 69 73 ibute.it.individually.under.this
515a0 20 4c 69 63 65 6e 73 65 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 20 69 6e 73 65 72 74 0a 20 20 .License,.provided.you.insert...
515c0 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 74 ...a.copy.of.this.License.into.t
515e0 68 65 20 65 78 74 72 61 63 74 65 64 20 64 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 66 6f 6c 6c 6f he.extracted.document,.and.follo
51600 77 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 w.this......License.in.all.other
51620 20 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e 67 20 76 65 72 62 61 74 69 6d 20 63 6f 70 .respects.regarding.verbatim.cop
51640 79 69 6e 67 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 37 ying.of.that......document.....7
51660 2e 20 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 20 49 4e 44 45 50 45 4e 44 45 4e 54 20 57 ..AGGREGATION.WITH.INDEPENDENT.W
51680 4f 52 4b 53 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 ORKS.......A.compilation.of.the.
516a0 44 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 73 20 77 69 74 68 Document.or.its.derivatives.with
516c0 20 6f 74 68 65 72 0a 20 20 20 20 20 73 65 70 61 72 61 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e .other......separate.and.indepen
516e0 64 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 6f 72 20 77 6f 72 6b 73 2c 20 69 6e 20 6f 72 20 6f dent.documents.or.works,.in.or.o
51700 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 0a 20 20 20 20 20 73 74 6f 72 61 67 65 20 6f 72 20 n.a.volume.of.a......storage.or.
51720 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 distribution.medium,.is.called.a
51740 6e 20 e2 80 9c 61 67 67 72 65 67 61 74 65 e2 80 9d 20 69 66 20 74 68 65 0a 20 20 20 20 20 63 6f n....aggregate....if.the......co
51760 70 79 72 69 67 68 74 20 72 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 69 pyright.resulting.from.the.compi
51780 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 0a lation.is.not.used.to.limit.the.
517a0 20 20 20 20 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 .....legal.rights.of.the.compila
517c0 74 69 6f 6e e2 80 99 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 tion...s.users.beyond.what.the.i
517e0 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 57 68 ndividual......works.permit...Wh
51800 65 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 en.the.Document.is.included.in.a
51820 6e 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 64 n.aggregate,.this......License.d
51840 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 73 oes.not.apply.to.the.other.works
51860 20 69 6e 20 74 68 65 20 61 67 67 72 65 67 61 74 65 20 77 68 69 63 68 0a 20 20 20 20 20 61 72 65 .in.the.aggregate.which......are
51880 20 6e 6f 74 20 74 68 65 6d 73 65 6c 76 65 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 .not.themselves.derivative.works
518a0 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 43 .of.the.Document........If.the.C
518c0 6f 76 65 72 20 54 65 78 74 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 73 65 63 74 69 6f 6e over.Text.requirement.of.section
518e0 20 33 20 69 73 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 73 65 0a 20 20 20 20 20 63 .3.is.applicable.to.these......c
51900 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 65 6e 20 69 66 20 74 opies.of.the.Document,.then.if.t
51920 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 6e 65 20 68 61 6c he.Document.is.less.than.one.hal
51940 66 0a 20 20 20 20 20 6f 66 20 74 68 65 20 65 6e 74 69 72 65 20 61 67 67 72 65 67 61 74 65 2c 20 f......of.the.entire.aggregate,.
51960 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 43 6f 76 65 72 20 54 65 78 74 73 20 6d 61 79 the.Document...s.Cover.Texts.may
51980 20 62 65 20 70 6c 61 63 65 64 0a 20 20 20 20 20 6f 6e 20 63 6f 76 65 72 73 20 74 68 61 74 20 62 .be.placed......on.covers.that.b
519a0 72 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 69 6e 20 74 68 65 20 61 racket.the.Document.within.the.a
519c0 67 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 20 20 20 20 20 65 6c 65 63 74 72 6f 6e 69 63 ggregate,.or.the......electronic
519e0 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 65 72 73 20 69 66 20 74 68 65 20 44 6f 63 .equivalent.of.covers.if.the.Doc
51a00 75 6d 65 6e 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 6f 6e 69 63 0a 20 20 20 20 20 66 6f 72 6d ument.is.in.electronic......form
51a20 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 79 20 6d 75 73 74 20 61 70 70 65 61 72 20 6f 6e ...Otherwise.they.must.appear.on
51a40 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b 65 74 0a 20 20 20 .printed.covers.that.bracket....
51a60 20 20 74 68 65 20 77 68 6f 6c 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 20 20 38 2e 20 54 52 41 ..the.whole.aggregate.....8..TRA
51a80 4e 53 4c 41 54 49 4f 4e 0a 0a 20 20 20 20 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 63 6f NSLATION.......Translation.is.co
51aa0 6e 73 69 64 65 72 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c nsidered.a.kind.of.modification,
51ac0 20 73 6f 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 74 72 61 6e .so.you.may......distribute.tran
51ae0 73 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 slations.of.the.Document.under.t
51b00 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 34 2e 20 20 52 65 70 he.terms.of.section......4...Rep
51b20 6c 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 lacing.Invariant.Sections.with.t
51b40 72 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 65 73 20 73 70 65 63 69 61 6c 0a 20 20 20 ranslations.requires.special....
51b60 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 69 72 20 63 6f 70 79 72 69 67 68 ..permission.from.their.copyrigh
51b80 74 20 68 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 20 t.holders,.but.you.may.include..
51ba0 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 ....translations.of.some.or.all.
51bc0 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 Invariant.Sections.in.addition.t
51be0 6f 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 o.the......original.versions.of.
51c00 74 68 65 73 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d these.Invariant.Sections...You.m
51c20 61 79 20 69 6e 63 6c 75 64 65 20 61 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 ay.include.a......translation.of
51c40 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 61 6c 6c 20 74 68 65 20 6c 69 63 65 6e .this.License,.and.all.the.licen
51c60 73 65 20 6e 6f 74 69 63 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2c se.notices.in.the......Document,
51c80 20 61 6e 64 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2c 20 70 .and.any.Warranty.Disclaimers,.p
51ca0 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 0a 20 20 20 20 20 69 6e 63 6c 75 rovided.that.you.also......inclu
51cc0 64 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c 69 73 68 20 76 65 72 73 69 6f 6e 20 de.the.original.English.version.
51ce0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 6f 72 69 of.this.License.and.the......ori
51d00 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 6f 73 65 20 6e 6f 74 69 63 65 73 20 ginal.versions.of.those.notices.
51d20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 0a 20 and.disclaimers...In.case.of.a..
51d40 20 20 20 20 64 69 73 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 72 61 ....disagreement.between.the.tra
51d60 6e 73 6c 61 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f nslation.and.the.original.versio
51d80 6e 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 72 20 61 20 6e 6f 74 69 n.of......this.License.or.a.noti
51da0 63 65 20 6f 72 20 64 69 73 63 6c 61 69 6d 65 72 2c 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 ce.or.disclaimer,.the.original.v
51dc0 65 72 73 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 70 72 65 76 61 69 6c 2e 0a 0a 20 20 20 20 20 ersion.will......prevail........
51de0 49 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 If.a.section.in.the.Document.is.
51e00 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 2c Entitled....Acknowledgements...,
51e20 0a 20 20 20 20 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 .........Dedications...,.or....H
51e40 69 73 74 6f 72 79 e2 80 9d 2c 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 28 73 65 63 74 istory...,.the.requirement.(sect
51e60 69 6f 6e 20 34 29 20 74 6f 0a 20 20 20 20 20 50 72 65 73 65 72 76 65 20 69 74 73 20 54 69 74 6c ion.4).to......Preserve.its.Titl
51e80 65 20 28 73 65 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 72 65 71 e.(section.1).will.typically.req
51ea0 75 69 72 65 20 63 68 61 6e 67 69 6e 67 20 74 68 65 0a 20 20 20 20 20 61 63 74 75 61 6c 20 74 69 uire.changing.the......actual.ti
51ec0 74 6c 65 2e 0a 0a 20 20 39 2e 20 54 45 52 4d 49 4e 41 54 49 4f 4e 0a 0a 20 20 20 20 20 59 6f 75 tle.....9..TERMINATION.......You
51ee0 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 .may.not.copy,.modify,.sublicens
51f00 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 e,.or.distribute.the.Document...
51f20 20 20 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 ...except.as.expressly.provided.
51f40 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 under.this.License...Any.attempt
51f60 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c ......otherwise.to.copy,.modify,
51f80 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 69 73 .sublicense,.or.distribute.it.is
51fa0 20 76 6f 69 64 2c 0a 20 20 20 20 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c .void,......and.will.automatical
51fc0 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 ly.terminate.your.rights.under.t
51fe0 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 his.License........However,.if.y
52000 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c ou.cease.all.violation.of.this.L
52020 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 66 icense,.then.your......license.f
52040 72 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 rom.a.particular.copyright.holde
52060 72 20 69 73 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 0a 20 20 20 20 20 70 72 6f 76 69 73 69 r.is.reinstated.(a)......provisi
52080 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 onally,.unless.and.until.the.cop
520a0 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 20 20 20 yright.holder.explicitly.and....
520c0 20 20 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 ..finally.terminates.your.licens
520e0 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 0a 20 e,.and.(b).permanently,.if.the..
52100 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 66 61 69 6c 73 20 74 6f 20 6e 6f ....copyright.holder.fails.to.no
52120 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d tify.you.of.the.violation.by.som
52140 65 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 6f 72 20 74 6f e......reasonable.means.prior.to
52160 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e 0a 0a 20 .60.days.after.the.cessation....
52180 20 20 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 ....Moreover,.your.license.from.
521a0 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
521c0 0a 20 20 20 20 20 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 ......reinstated.permanently.if.
521e0 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f the.copyright.holder.notifies.yo
52200 75 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 u.of.the......violation.by.some.
52220 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 reasonable.means,.this.is.the.fi
52240 72 73 74 20 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 72 65 63 65 69 76 65 64 20 rst.time.you.have......received.
52260 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 notice.of.violation.of.this.Lice
52280 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 61 nse.(for.any.work).from......tha
522a0 74 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 t.copyright.holder,.and.you.cure
522c0 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 0a .the.violation.prior.to.30.days.
522e0 20 20 20 20 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f 66 20 74 68 65 20 6e .....after.your.receipt.of.the.n
52300 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f 75 72 otice........Termination.of.your
52320 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 .rights.under.this.section.does.
52340 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 73 20 not.terminate......the.licenses.
52360 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 of.parties.who.have.received.cop
52380 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 0a 20 20 20 20 20 75 6e 64 65 ies.or.rights.from.you......unde
523a0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 r.this.License...If.your.rights.
523c0 68 61 76 65 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 0a 20 20 20 have.been.terminated.and.not....
523e0 20 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e 73 74 61 74 65 64 2c 20 72 65 63 65 69 70 ..permanently.reinstated,.receip
52400 74 20 6f 66 20 61 20 63 6f 70 79 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 t.of.a.copy.of.some.or.all.of.th
52420 65 0a 20 20 20 20 20 73 61 6d 65 20 6d 61 74 65 72 69 61 6c 20 64 6f 65 73 20 6e 6f 74 20 67 69 e......same.material.does.not.gi
52440 76 65 20 79 6f 75 20 61 6e 79 20 72 69 67 68 74 73 20 74 6f 20 75 73 65 20 69 74 2e 0a 0a 20 20 ve.you.any.rights.to.use.it.....
52460 31 30 2e 20 46 55 54 55 52 45 20 52 45 56 49 53 49 4f 4e 53 20 4f 46 20 54 48 49 53 20 4c 49 43 10..FUTURE.REVISIONS.OF.THIS.LIC
52480 45 4e 53 45 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 ENSE.......The.Free.Software.Fou
524a0 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 6e 65 77 2c 20 72 65 76 69 73 65 64 ndation.may.publish.new,.revised
524c0 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 .versions.of......the.GNU.Free.D
524e0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 ocumentation.License.from.time.t
52500 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 o.time...Such.new......versions.
52520 77 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 will.be.similar.in.spirit.to.the
52540 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 20 20 20 20 20 64 .present.version,.but.may......d
52560 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 iffer.in.detail.to.address.new.p
52580 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 20 20 53 65 65 0a 20 20 20 20 20 3c roblems.or.concerns...See......<
525a0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a https://www.gnu.org/licenses/>..
525c0 0a 20 20 20 20 20 45 61 63 68 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 ......Each.version.of.the.Licens
525e0 65 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 e.is.given.a.distinguishing.vers
52600 69 6f 6e 0a 20 20 20 20 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ion......number...If.the.Documen
52620 74 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6e 75 t.specifies.that.a.particular.nu
52640 6d 62 65 72 65 64 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 mbered......version.of.this.Lice
52660 6e 73 65 20 e2 80 9c 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e e2 80 9d 20 61 nse....or.any.later.version....a
52680 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 0a 20 20 20 20 20 68 61 76 65 20 74 68 65 20 pplies.to.it,.you......have.the.
526a0 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e option.of.following.the.terms.an
526c0 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 0a 20 20 20 20 20 74 68 61 74 d.conditions.either.of......that
526e0 20 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 .specified.version.or.of.any.lat
52700 65 72 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 70 75 er.version.that.has.been......pu
52720 62 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 blished.(not.as.a.draft).by.the.
52740 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 Free.Software.Foundation...If.th
52760 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 e......Document.does.not.specify
52780 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 .a.version.number.of.this.Licens
527a0 65 2c 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 e,.you.may......choose.any.versi
527c0 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 on.ever.published.(not.as.a.draf
527e0 74 29 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 20 20 20 20 53 6f 66 74 77 61 72 65 20 46 6f 75 t).by.the.Free......Software.Fou
52800 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 ndation...If.the.Document.specif
52820 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 0a 20 20 20 20 20 64 65 63 69 64 65 ies.that.a.proxy.can......decide
52840 20 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c .which.future.versions.of.this.L
52860 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 0a 20 20 20 20 20 70 72 icense.can.be.used,.that......pr
52880 6f 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 oxy...s.public.statement.of.acce
528a0 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 0a ptance.of.a.version.permanently.
528c0 20 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 .....authorizes.you.to.choose.th
528e0 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 at.version.for.the.Document.....
52900 31 31 2e 20 52 45 4c 49 43 45 4e 53 49 4e 47 0a 0a 20 20 20 20 20 e2 80 9c 4d 61 73 73 69 76 65 11..RELICENSING..........Massive
52920 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 20 53 69 74 65 e2 .Multiauthor.Collaboration.Site.
52940 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 20 53 69 74 65 e2 80 9d 29 20 6d 65 61 6e 73 20 61 6e 79 ...(or....MMC.Site...).means.any
52960 0a 20 20 20 20 20 57 6f 72 6c 64 20 57 69 64 65 20 57 65 62 20 73 65 72 76 65 72 20 74 68 61 74 ......World.Wide.Web.server.that
52980 20 70 75 62 6c 69 73 68 65 73 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 73 20 61 .publishes.copyrightable.works.a
529a0 6e 64 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 70 72 6f 6d 69 6e 65 6e 74 20 nd.also......provides.prominent.
529c0 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 62 6f 64 79 20 74 6f 20 65 64 69 74 20 74 facilities.for.anybody.to.edit.t
529e0 68 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 20 20 20 20 20 70 75 62 6c 69 63 20 77 69 6b 69 20 hose.works...A......public.wiki.
52a00 74 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 64 69 74 20 69 73 20 61 6e 20 65 78 61 6d that.anybody.can.edit.is.an.exam
52a20 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 65 72 2e 0a 20 20 20 20 20 41 20 e2 80 9c ple.of.such.a.server.......A....
52a40 4d 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f Massive.Multiauthor.Collaboratio
52a60 6e e2 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 e2 80 9d 29 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e n....(or....MMC...).contained.in
52a80 20 74 68 65 0a 20 20 20 20 20 73 69 74 65 20 6d 65 61 6e 73 20 61 6e 79 20 73 65 74 20 6f 66 20 .the......site.means.any.set.of.
52aa0 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 73 20 74 68 75 73 20 70 75 62 6c 69 73 68 copyrightable.works.thus.publish
52ac0 65 64 20 6f 6e 20 74 68 65 20 4d 4d 43 0a 20 20 20 20 20 73 69 74 65 2e 0a 0a 20 20 20 20 20 e2 ed.on.the.MMC......site.........
52ae0 80 9c 43 43 2d 42 59 2d 53 41 e2 80 9d 20 6d 65 61 6e 73 20 74 68 65 20 43 72 65 61 74 69 76 65 ..CC-BY-SA....means.the.Creative
52b00 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 2d 53 68 61 72 65 20 41 6c 69 6b 65 .Commons.Attribution-Share.Alike
52b20 20 33 2e 30 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 43 .3.0......license.published.by.C
52b40 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2c 20 61 20 6e reative.Commons.Corporation,.a.n
52b60 6f 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 20 20 20 20 20 63 6f 72 70 6f 72 61 74 69 6f 6e 20 77 ot-for-profit......corporation.w
52b80 69 74 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c 61 63 65 20 6f 66 20 62 75 73 69 6e 65 73 ith.a.principal.place.of.busines
52ba0 73 20 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 20 20 20 20 20 43 61 6c 69 66 6f 72 s.in.San.Francisco,......Califor
52bc0 6e 69 61 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 66 75 74 75 72 65 20 63 6f 70 79 6c 65 66 74 20 nia,.as.well.as.future.copyleft.
52be0 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 0a 20 20 20 20 20 70 75 versions.of.that.license......pu
52c00 62 6c 69 73 68 65 64 20 62 79 20 74 68 61 74 20 73 61 6d 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f blished.by.that.same.organizatio
52c20 6e 2e 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 63 6f 72 70 6f 72 61 74 65 e2 80 9d 20 6d 65 61 6e 73 n...........Incorporate....means
52c40 20 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 75 62 6c 69 73 68 20 61 20 44 6f 63 75 6d .to.publish.or.republish.a.Docum
52c60 65 6e 74 2c 20 69 6e 20 77 68 6f 6c 65 20 6f 72 0a 20 20 20 20 20 69 6e 20 70 61 72 74 2c 20 61 ent,.in.whole.or......in.part,.a
52c80 73 20 70 61 72 74 20 6f 66 20 61 6e 6f 74 68 65 72 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 s.part.of.another.Document......
52ca0 20 20 41 6e 20 4d 4d 43 20 69 73 20 e2 80 9c 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 ..An.MMC.is....eligible.for.reli
52cc0 63 65 6e 73 69 6e 67 e2 80 9d 20 69 66 20 69 74 20 69 73 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 censing....if.it.is.licensed.und
52ce0 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 66 20 61 6c 6c er.this......License,.and.if.all
52d00 20 77 6f 72 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 69 72 73 74 20 70 75 62 6c 69 73 68 65 64 .works.that.were.first.published
52d20 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 73 6f 6d 65 77 68 65 .under.this......License.somewhe
52d40 72 65 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4d 4d 43 2c 20 61 6e 64 20 73 75 62 73 re.other.than.this.MMC,.and.subs
52d60 65 71 75 65 6e 74 6c 79 0a 20 20 20 20 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 69 6e 20 77 68 equently......incorporated.in.wh
52d80 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 69 6e 74 6f 20 74 68 65 20 4d 4d 43 2c 20 28 31 29 ole.or.in.part.into.the.MMC,.(1)
52da0 20 68 61 64 20 6e 6f 20 63 6f 76 65 72 0a 20 20 20 20 20 74 65 78 74 73 20 6f 72 20 69 6e 76 61 .had.no.cover......texts.or.inva
52dc0 72 69 61 6e 74 20 73 65 63 74 69 6f 6e 73 2c 20 61 6e 64 20 28 32 29 20 77 65 72 65 20 74 68 75 riant.sections,.and.(2).were.thu
52de0 73 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 70 72 69 6f 72 0a 20 20 20 20 20 74 6f 20 4e 6f 76 s.incorporated.prior......to.Nov
52e00 65 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 6f ember.1,.2008........The.operato
52e20 72 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d 61 79 20 72 65 70 75 62 6c 69 73 68 20 61 r.of.an.MMC.Site.may.republish.a
52e40 6e 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 69 74 65 n.MMC.contained.in.the......site
52e60 20 75 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 69 74 65 .under.CC-BY-SA.on.the.same.site
52e80 20 61 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 65 20 41 75 67 75 73 74 20 31 2c 0a 20 20 .at.any.time.before.August.1,...
52ea0 20 20 20 32 30 30 39 2c 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 4d 4d 43 20 69 73 20 65 6c 69 ...2009,.provided.the.MMC.is.eli
52ec0 67 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 2e 0a 0a 41 44 44 45 4e 44 55 4d gible.for.relicensing...ADDENDUM
52ee0 3a 20 48 6f 77 20 74 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 79 6f :.How.to.use.this.License.for.yo
52f00 75 72 20 64 6f 63 75 6d 65 6e 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ur.documents.===================
52f20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
52f40 3d 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 20 64 6f 63 75 =..To.use.this.License.in.a.docu
52f60 6d 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 74 65 6e 2c 20 69 6e 63 6c 75 64 65 20 61 ment.you.have.written,.include.a
52f80 20 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 20 64 6f 63 75 .copy.of.the.License.in.the.docu
52fa0 6d 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 70 79 72 ment.and.put.the.following.copyr
52fc0 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 0a 6e 6f 74 69 63 65 73 20 6a 75 73 74 20 61 66 ight.and.license.notices.just.af
52fe0 74 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 3a 0a 0a 20 20 20 20 20 20 20 43 6f 70 79 ter.the.title.page:.........Copy
53000 72 69 67 68 74 20 28 43 29 20 20 59 45 41 52 20 20 59 4f 55 52 20 4e 41 4d 45 2e 0a 20 20 20 20 right.(C)..YEAR..YOUR.NAME......
53020 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 ...Permission.is.granted.to.copy
53040 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 ,.distribute.and/or.modify.this.
53060 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 document........under.the.terms.
53080 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 of.the.GNU.Free.Documentation.Li
530a0 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 0a 20 20 20 20 20 20 20 6f 72 20 61 6e 79 cense,.Version.1.3........or.any
530c0 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 .later.version.published.by.the.
530e0 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 Free.Software.Foundation;.......
53100 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 6e 6f 20 .with.no.Invariant.Sections,.no.
53120 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 61 6e 64 20 6e 6f 20 42 61 63 6b 2d 43 Front-Cover.Texts,.and.no.Back-C
53140 6f 76 65 72 0a 20 20 20 20 20 20 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 over........Texts...A.copy.of.th
53160 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 e.license.is.included.in.the.sec
53180 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 0a 20 20 20 20 20 20 20 46 72 65 65 20 tion.entitled.``GNU........Free.
531a0 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 0a 20 20 20 49 66 20 Documentation.License''......If.
531c0 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 46 72 6f you.have.Invariant.Sections,.Fro
531e0 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 61 6e 64 20 42 61 63 6b 2d 43 6f 76 65 72 0a 54 65 nt-Cover.Texts.and.Back-Cover.Te
53200 78 74 73 2c 20 72 65 70 6c 61 63 65 20 74 68 65 20 e2 80 9c 77 69 74 68 2e 2e 2e 54 65 78 74 73 xts,.replace.the....with...Texts
53220 2e e2 80 9d 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 77 .....line.with.this:...........w
53240 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 ith.the.Invariant.Sections.being
53260 20 4c 49 53 54 20 54 48 45 49 52 20 54 49 54 4c 45 53 2c 20 77 69 74 68 0a 20 20 20 20 20 20 20 .LIST.THEIR.TITLES,.with........
53280 20 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 62 65 69 6e 67 20 4c 49 ..the.Front-Cover.Texts.being.LI
532a0 53 54 2c 20 61 6e 64 20 77 69 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 ST,.and.with.the.Back-Cover.Text
532c0 73 0a 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 4c 49 53 54 2e 0a 0a 20 20 20 49 66 20 79 6f s..........being.LIST......If.yo
532e0 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 6f 75 u.have.Invariant.Sections.withou
53300 74 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 0a 63 6f 6d t.Cover.Texts,.or.some.other.com
53320 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 68 72 65 65 2c 20 6d 65 72 67 65 20 74 68 6f bination.of.the.three,.merge.tho
53340 73 65 20 74 77 6f 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 74 6f 20 73 75 69 74 20 74 68 65 0a se.two.alternatives.to.suit.the.
53360 73 69 74 75 61 74 69 6f 6e 2e 0a 0a 20 20 20 49 66 20 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 20 situation......If.your.document.
53380 63 6f 6e 74 61 69 6e 73 20 6e 6f 6e 74 72 69 76 69 61 6c 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 contains.nontrivial.examples.of.
533a0 70 72 6f 67 72 61 6d 20 63 6f 64 65 2c 20 77 65 0a 72 65 63 6f 6d 6d 65 6e 64 20 72 65 6c 65 61 program.code,.we.recommend.relea
533c0 73 69 6e 67 20 74 68 65 73 65 20 65 78 61 6d 70 6c 65 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 sing.these.examples.in.parallel.
533e0 75 6e 64 65 72 20 79 6f 75 72 20 63 68 6f 69 63 65 20 6f 66 20 66 72 65 65 0a 73 6f 66 74 77 61 under.your.choice.of.free.softwa
53400 72 65 20 6c 69 63 65 6e 73 65 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 re.license,.such.as.the.GNU.Gene
53420 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 74 6f 20 70 65 72 6d 69 74 0a 74 68 ral.Public.License,.to.permit.th
53440 65 69 72 20 75 73 65 20 69 6e 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 1f 0a 46 69 6c eir.use.in.free.software.....Fil
53460 65 3a 20 64 6f 63 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 47 50 4c 2c 20 20 e:.docpgQ07Y.info,..Node:.GPL,..
53480 4e 65 78 74 3a 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 46 44 4c 2c 20 20 55 70 3a 20 54 6f Next:.Index,..Prev:.FDL,..Up:.To
534a0 70 0a 0a 41 70 70 65 6e 64 69 78 20 42 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 p..Appendix.B.GNU.General.Public
534c0 20 4c 69 63 65 6e 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .License.***********************
534e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 **************..................
53500 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a ........Version.3,.29.June.2007.
53520 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 ......Copyright....2007.Free.Sof
53540 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f tware.Foundation,.Inc..<https://
53560 66 73 66 2e 6f 72 67 2f 3e 0a 0a 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d fsf.org/>.......Everyone.is.perm
53580 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 itted.to.copy.and.distribute.ver
535a0 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 6c 69 63 65 6e 73 batim.copies.of.this......licens
535c0 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e e.document,.but.changing.it.is.n
535e0 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 50 72 65 61 6d 62 6c 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a ot.allowed...Preamble.========..
53600 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 The.GNU.General.Public.License.i
53620 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 73 s.a.free,.copyleft.license.for.s
53640 6f 66 74 77 61 72 65 0a 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 77 6f 72 6b 73 oftware.and.other.kinds.of.works
53660 2e 0a 0a 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 ......The.licenses.for.most.soft
53680 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 6f 72 6b 73 20 61 ware.and.other.practical.works.a
536a0 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 20 66 72 re.designed.to.take.away.your.fr
536c0 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 74 68 65 20 77 6f eedom.to.share.and.change.the.wo
536e0 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rks...By.contrast,.the.GNU.Gener
53700 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f al.Public.License.is.intended.to
53720 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 0a 73 68 61 72 65 .guarantee.your.freedom.to.share
53740 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 70 72 .and.change.all.versions.of.a.pr
53760 6f 67 72 61 6d e2 80 94 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d 61 69 6e 73 20 ogram...to.make.sure.it.remains.
53780 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e free.software.for.all.its.users.
537a0 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 ..We,.the.Free.Software.Foundati
537c0 6f 6e 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c on,.use.the.GNU.General.Public.L
537e0 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 77 61 72 65 3b icense.for.most.of.our.software;
53800 20 69 74 20 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 65 72 20 77 6f .it.applies.also.to.any.other.wo
53820 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 20 61 75 74 68 rk.released.this.way.by.its.auth
53840 6f 72 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 ors...You.can.apply.it.to.your.p
53860 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 rograms,.too......When.we.speak.
53880 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 of.free.software,.we.are.referri
538a0 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 ng.to.freedom,.not.price...Our.G
538c0 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 eneral.Public.Licenses.are.desig
538e0 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 ned.to.make.sure.that.you.have.t
53900 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 he.freedom.to.distribute.copies.
53920 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 of.free.software.(and.charge.for
53940 0a 74 68 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 .them.if.you.wish),.that.you.rec
53960 65 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 69 eive.source.code.or.can.get.it.i
53980 66 20 79 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e f.you.want.it,.that.you.can.chan
539a0 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 ge.the.software.or.use.pieces.of
539c0 20 69 74 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e 64 20 74 68 .it.in.new.free.programs,.and.th
539e0 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 at.you.know.you.can.do.these.thi
53a00 6e 67 73 2e 0a 0a 20 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c ngs......To.protect.your.rights,
53a20 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 6f 6d 20 .we.need.to.prevent.others.from.
53a40 64 65 6e 79 69 6e 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 73 6b 69 denying.you.these.rights.or.aski
53a60 6e 67 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 20 ng.you.to.surrender.the.rights..
53a80 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 72 65 73 .Therefore,.you.have.certain.res
53aa0 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 ponsibilities.if.you.distribute.
53ac0 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 0a 79 6f copies.of.the.software,.or.if.yo
53ae0 75 20 6d 6f 64 69 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 74 6f u.modify.it:.responsibilities.to
53b00 20 72 65 73 70 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 73 2e 0a .respect.the.freedom.of.others..
53b20 0a 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 ....For.example,.if.you.distribu
53b40 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 te.copies.of.such.a.program,.whe
53b60 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 ther.gratis.or.for.a.fee,.you.mu
53b80 73 74 20 70 61 73 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 68 65 st.pass.on.to.the.recipients.the
53ba0 20 73 61 6d 65 0a 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 64 .same.freedoms.that.you.received
53bc0 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 2c ...You.must.make.sure.that.they,
53be0 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 6f 75 .too,.receive.or.can.get.the.sou
53c00 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 65 rce.code...And.you.must.show.the
53c20 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 69 72 m.these.terms.so.they.know.their
53c40 20 72 69 67 68 74 73 2e 0a 0a 20 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 65 .rights......Developers.that.use
53c60 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 .the.GNU.GPL.protect.your.rights
53c80 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 79 .with.two.steps:.(1).assert.copy
53ca0 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 6f right.on.the.software,.and.(2).o
53cc0 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f 75 ffer.you.this.License.giving.you
53ce0 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 .legal.permission.to.copy,.distr
53d00 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 20 46 6f 72 20 ibute.and/or.modify.it......For.
53d20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 e2 80 99 20 61 6e 64 20 61 75 74 68 6f 72 73 e2 80 99 the.developers....and.authors...
53d40 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 .protection,.the.GPL.clearly.exp
53d60 6c 61 69 6e 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 lains.that.there.is.no.warranty.
53d80 66 6f 72 20 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 for.this.free.software...For.bot
53da0 68 20 75 73 65 72 73 e2 80 99 20 61 6e 64 0a 61 75 74 68 6f 72 73 e2 80 99 20 73 61 6b 65 2c 20 h.users....and.authors....sake,.
53dc0 74 68 65 20 47 50 4c 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 the.GPL.requires.that.modified.v
53de0 65 72 73 69 6f 6e 73 20 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f ersions.be.marked.as.changed,.so
53e00 20 74 68 61 74 20 74 68 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 .that.their.problems.will.not.be
53e20 20 61 74 74 72 69 62 75 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f .attributed.erroneously.to.autho
53e40 72 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 20 53 6f 6d rs.of.previous.versions......Som
53e60 65 20 64 65 76 69 63 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 e.devices.are.designed.to.deny.u
53e80 73 65 72 73 20 61 63 63 65 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f sers.access.to.install.or.run.mo
53ea0 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 dified.versions.of.the.software.
53ec0 69 6e 73 69 64 65 20 74 68 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 inside.them,.although.the.manufa
53ee0 63 74 75 72 65 72 0a 63 61 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 cturer.can.do.so...This.is.funda
53f00 6d 65 6e 74 61 6c 6c 79 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 mentally.incompatible.with.the.a
53f20 69 6d 20 6f 66 0a 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 e2 80 99 20 66 72 65 65 64 6f im.of.protecting.users....freedo
53f40 6d 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 m.to.change.the.software...The.s
53f60 79 73 74 65 6d 61 74 69 63 0a 70 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 ystematic.pattern.of.such.abuse.
53f80 6f 63 63 75 72 73 20 69 6e 20 74 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 occurs.in.the.area.of.products.f
53fa0 6f 72 20 69 6e 64 69 76 69 64 75 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 or.individuals.to.use,.which.is.
53fc0 70 72 65 63 69 73 65 6c 79 20 77 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 precisely.where.it.is.most.unacc
53fe0 65 70 74 61 62 6c 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 eptable...Therefore,.we.have.des
54000 69 67 6e 65 64 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f igned.this.version.of.the.GPL.to
54020 20 70 72 6f 68 69 62 69 74 20 74 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 .prohibit.the.practice.for.those
54040 0a 70 72 6f 64 75 63 74 73 2e 20 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 .products...If.such.problems.ari
54060 73 65 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e se.substantially.in.other.domain
54080 73 2c 20 77 65 0a 73 74 61 6e 64 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 s,.we.stand.ready.to.extend.this
540a0 20 70 72 6f 76 69 73 69 6f 6e 20 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 .provision.to.those.domains.in.f
540c0 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 uture.versions.of.the.GPL,.as.ne
540e0 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 eded.to.protect.the.freedom.of.u
54100 73 65 72 73 2e 0a 0a 20 20 20 46 69 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d sers......Finally,.every.program
54120 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 .is.threatened.constantly.by.sof
54140 74 77 61 72 65 20 70 61 74 65 6e 74 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 tware.patents..States.should.not
54160 20 61 6c 6c 6f 77 20 70 61 74 65 6e 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c .allow.patents.to.restrict.devel
54180 6f 70 6d 65 6e 74 20 61 6e 64 20 75 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 opment.and.use.of.software.on.ge
541a0 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 neral-purpose.computers,.but.in.
541c0 74 68 6f 73 65 20 74 68 61 74 20 64 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 those.that.do,.we.wish.to.avoid.
541e0 74 68 65 20 73 70 65 63 69 61 6c 20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 the.special.danger.that.patents.
54200 61 70 70 6c 69 65 64 20 74 6f 20 61 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a applied.to.a.free.program.could.
54220 6d 61 6b 65 20 69 74 20 65 66 66 65 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e make.it.effectively.proprietary.
54240 20 20 54 6f 20 70 72 65 76 65 6e 74 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 ..To.prevent.this,.the.GPL.assur
54260 65 73 20 74 68 61 74 0a 70 61 74 65 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 es.that.patents.cannot.be.used.t
54280 6f 20 72 65 6e 64 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a o.render.the.program.non-free...
542a0 20 20 20 54 68 65 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 ...The.precise.terms.and.conditi
542c0 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e ons.for.copying,.distribution.an
542e0 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 54 45 52 4d 53 20 41 4e d.modification.follow...TERMS.AN
54300 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d D.CONDITIONS.===================
54320 3d 0a 0a 20 20 30 2e 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 54 68 =....0..Definitions...........Th
54340 69 73 20 4c 69 63 65 6e 73 65 e2 80 9d 20 72 65 66 65 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 is.License....refers.to.version.
54360 33 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 3.of.the.GNU.General.Public.....
54380 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 e2 80 9c 43 6f 70 79 72 69 67 68 74 e2 80 9d 20 .License...........Copyright....
543a0 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 20 74 also.means.copyright-like.laws.t
543c0 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 0a 20 20 20 20 20 6b 69 6e 64 73 20 6f 66 hat.apply.to.other......kinds.of
543e0 20 77 6f 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 .works,.such.as.semiconductor.ma
54400 73 6b 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 54 68 65 20 50 72 6f 67 72 61 6d e2 80 9d 20 72 65 66 sks...........The.Program....ref
54420 65 72 73 20 74 6f 20 61 6e 79 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 ers.to.any.copyrightable.work.li
54440 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 censed.under.this......License..
54460 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 e2 .Each.licensee.is.addressed.as..
54480 80 9c 79 6f 75 e2 80 9d 2e 20 20 e2 80 9c 4c 69 63 65 6e 73 65 65 73 e2 80 9d 20 61 6e 64 0a 20 ..you.........Licensees....and..
544a0 20 20 20 20 e2 80 9c 72 65 63 69 70 69 65 6e 74 73 e2 80 9d 20 6d 61 79 20 62 65 20 69 6e 64 69 .......recipients....may.be.indi
544c0 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 viduals.or.organizations........
544e0 54 6f 20 e2 80 9c 6d 6f 64 69 66 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 To....modify....a.work.means.to.
54500 63 6f 70 79 20 66 72 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f copy.from.or.adapt.all.or.part.o
54520 66 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b 20 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 f.the......work.in.a.fashion.req
54540 75 69 72 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 uiring.copyright.permission,.oth
54560 65 72 20 74 68 61 6e 20 74 68 65 0a 20 20 20 20 20 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 20 65 78 er.than.the......making.of.an.ex
54580 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 act.copy...The.resulting.work.is
545a0 20 63 61 6c 6c 65 64 20 61 20 e2 80 9c 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 76 65 72 73 69 .called.a....modified......versi
545c0 6f 6e e2 80 9d 20 6f 66 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 6f 72 20 61 20 77 on....of.the.earlier.work.or.a.w
545e0 6f 72 6b 20 e2 80 9c 62 61 73 65 64 20 6f 6e e2 80 9d 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 ork....based.on....the.earlier.w
54600 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 63 6f 76 65 72 65 64 20 77 6f 72 6b e2 80 9d 20 ork........A....covered.work....
54620 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 means.either.the.unmodified.Prog
54640 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 0a 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 ram.or.a.work......based.on.the.
54660 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 70 72 6f 70 61 67 61 74 65 e2 80 Program........To....propagate..
54680 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 ..a.work.means.to.do.anything.wi
546a0 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 70 65 72 6d 69 73 73 th.it.that,.without......permiss
546c0 69 6f 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 72 65 63 74 6c 79 20 6f 72 20 ion,.would.make.you.directly.or.
546e0 73 65 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 69 6e 66 72 secondarily.liable.for......infr
54700 69 6e 67 65 6d 65 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 6f 70 79 72 69 ingement.under.applicable.copyri
54720 67 68 74 20 6c 61 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 74 20 6f 6e 0a ght.law,.except.executing.it.on.
54740 20 20 20 20 20 61 20 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 .....a.computer.or.modifying.a.p
54760 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 rivate.copy...Propagation.includ
54780 65 73 0a 20 20 20 20 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 es......copying,.distribution.(w
547a0 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 ith.or.without.modification),.ma
547c0 6b 69 6e 67 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 king......available.to.the.publi
547e0 63 2c 20 61 6e 64 20 69 6e 20 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 c,.and.in.some.countries.other.a
54800 63 74 69 76 69 74 69 65 73 20 61 73 0a 20 20 20 20 20 77 65 6c 6c 2e 0a 0a 20 20 20 20 20 54 6f ctivities.as......well........To
54820 20 e2 80 9c 63 6f 6e 76 65 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 61 6e 79 20 6b ....convey....a.work.means.any.k
54840 69 6e 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 74 20 65 6e 61 62 6c 65 73 20 ind.of.propagation.that.enables.
54860 6f 74 68 65 72 0a 20 20 20 20 20 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 6f 72 20 72 65 other......parties.to.make.or.re
54880 63 65 69 76 65 20 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 ceive.copies...Mere.interaction.
548a0 77 69 74 68 20 61 20 75 73 65 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 61 20 63 6f 6d 70 75 with.a.user......through.a.compu
548c0 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 ter.network,.with.no.transfer.of
548e0 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 2e 0a .a.copy,.is.not......conveying..
54900 0a 20 20 20 20 20 41 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 ......An.interactive.user.interf
54920 61 63 65 20 64 69 73 70 6c 61 79 73 20 e2 80 9c 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 ace.displays....Appropriate.Lega
54940 6c 20 4e 6f 74 69 63 65 73 e2 80 9d 0a 20 20 20 20 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 l.Notices.........to.the.extent.
54960 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e that.it.includes.a.convenient.an
54980 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 69 62 6c 65 0a 20 20 20 20 20 66 65 61 74 75 d.prominently.visible......featu
549a0 72 65 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 6e 20 61 70 70 72 6f 70 72 69 re.that.(1).displays.an.appropri
549c0 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 28 32 29 0a 20 20 ate.copyright.notice,.and.(2)...
549e0 20 20 20 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 ...tells.the.user.that.there.is.
54a00 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 78 63 65 70 74 no.warranty.for.the.work.(except
54a20 20 74 6f 0a 20 20 20 20 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 .to......the.extent.that.warrant
54a40 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 ies.are.provided),.that.licensee
54a60 73 20 6d 61 79 20 63 6f 6e 76 65 79 0a 20 20 20 20 20 74 68 65 20 77 6f 72 6b 20 75 6e 64 65 72 s.may.convey......the.work.under
54a80 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 .this.License,.and.how.to.view.a
54aa0 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 .copy.of.this......License...If.
54ac0 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 the.interface.presents.a.list.of
54ae0 20 75 73 65 72 20 63 6f 6d 6d 61 6e 64 73 20 6f 72 0a 20 20 20 20 20 6f 70 74 69 6f 6e 73 2c 20 .user.commands.or......options,.
54b00 73 75 63 68 20 61 73 20 61 20 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d such.as.a.menu,.a.prominent.item
54b20 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 65 74 73 20 74 68 69 73 0a 20 20 20 20 20 63 72 69 .in.the.list.meets.this......cri
54b40 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 20 43 6f 64 65 2e 0a 0a 20 20 20 20 terion.....1..Source.Code.......
54b60 20 54 68 65 20 e2 80 9c 73 6f 75 72 63 65 20 63 6f 64 65 e2 80 9d 20 66 6f 72 20 61 20 77 6f 72 .The....source.code....for.a.wor
54b80 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 k.means.the.preferred.form.of.th
54ba0 65 20 77 6f 72 6b 0a 20 20 20 20 20 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 e.work......for.making.modificat
54bc0 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 e2 80 9c 4f 62 6a 65 63 74 20 63 6f 64 65 e2 80 9d 20 6d ions.to.it......Object.code....m
54be0 65 61 6e 73 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 66 6f 72 6d 20 6f 66 eans.any.non-source......form.of
54c00 20 61 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 53 74 61 6e 64 61 72 64 20 49 6e 74 .a.work........A....Standard.Int
54c20 65 72 66 61 63 65 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 erface....means.an.interface.tha
54c40 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 0a 20 20 20 20 20 6f 66 66 69 63 69 61 6c 20 73 74 61 t.either.is.an......official.sta
54c60 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 63 6f 67 6e 69 7a 65 64 20 73 74 ndard.defined.by.a.recognized.st
54c80 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 0a 20 20 20 20 20 74 68 65 20 63 61 andards.body,.or,.in......the.ca
54ca0 73 65 20 6f 66 20 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 61 se.of.interfaces.specified.for.a
54cc0 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 0a 20 20 20 20 20 6c 61 6e .particular.programming......lan
54ce0 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 20 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 61 guage,.one.that.is.widely.used.a
54d00 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 0a mong.developers.working.in.that.
54d20 20 20 20 20 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 53 79 73 74 .....language........The....Syst
54d40 65 6d 20 4c 69 62 72 61 72 69 65 73 e2 80 9d 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 em.Libraries....of.an.executable
54d60 20 77 6f 72 6b 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 2c 0a 20 20 20 20 20 6f 74 68 .work.include.anything,......oth
54d80 65 72 20 74 68 61 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 er.than.the.work.as.a.whole,.tha
54da0 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 0a t.(a).is.included.in.the.normal.
54dc0 20 20 20 20 20 66 6f 72 6d 20 6f 66 20 70 61 63 6b 61 67 69 6e 67 20 61 20 4d 61 6a 6f 72 20 43 .....form.of.packaging.a.Major.C
54de0 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 61 72 74 20 omponent,.but.which.is.not.part.
54e00 6f 66 20 74 68 61 74 0a 20 20 20 20 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 61 6e of.that......Major.Component,.an
54e20 64 20 28 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c 65 20 75 73 65 20 d.(b).serves.only.to.enable.use.
54e40 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 0a 20 20 20 20 20 74 68 61 74 20 4d 61 6a 6f 72 of.the.work.with......that.Major
54e60 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 74 .Component,.or.to.implement.a.St
54e80 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 0a 20 20 20 20 20 77 68 69 63 68 20 andard.Interface.for......which.
54ea0 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 an.implementation.is.available.t
54ec0 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 20 20 20 20 o.the.public.in.source.code.....
54ee0 20 66 6f 72 6d 2e 20 20 41 20 e2 80 9c 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 e2 80 9d 2c .form...A....Major.Component...,
54f00 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 0a .in.this.context,.means.a.major.
54f20 20 20 20 20 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 20 28 6b 65 72 6e 65 6c .....essential.component.(kernel
54f40 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 ,.window.system,.and.so.on).of.t
54f60 68 65 0a 20 20 20 20 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 he......specific.operating.syste
54f80 6d 20 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 m.(if.any).on.which.the.executab
54fa0 6c 65 20 77 6f 72 6b 0a 20 20 20 20 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 69 6c 65 72 le.work......runs,.or.a.compiler
54fc0 20 75 73 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f 72 20 61 6e .used.to.produce.the.work,.or.an
54fe0 20 6f 62 6a 65 63 74 20 63 6f 64 65 0a 20 20 20 20 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 .object.code......interpreter.us
55000 65 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 43 6f 72 72 65 ed.to.run.it........The....Corre
55020 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 e2 80 9d 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e sponding.Source....for.a.work.in
55040 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 20 20 20 20 .object.code.form.means.all.....
55060 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 .the.source.code.needed.to.gener
55080 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 ate,.install,.and.(for.an.execut
550a0 61 62 6c 65 0a 20 20 20 20 20 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 able......work).run.the.object.c
550c0 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c ode.and.to.modify.the.work,.incl
550e0 75 64 69 6e 67 20 73 63 72 69 70 74 73 0a 20 20 20 20 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 uding.scripts......to.control.th
55100 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 64 6f 65 ose.activities...However,.it.doe
55120 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b e2 80 99 73 20 s.not.include.the......work...s.
55140 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 75 72 System.Libraries,.or.general-pur
55160 70 6f 73 65 20 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 0a 20 20 20 20 20 61 76 61 pose.tools.or.generally......ava
55180 69 6c 61 62 6c 65 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 ilable.free.programs.which.are.u
551a0 73 65 64 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 0a 20 20 20 sed.unmodified.in.performing....
551c0 20 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 20 62 75 74 20 77 68 69 63 68 20 61 72 65 ..those.activities.but.which.are
551e0 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d .not.part.of.the.work...For.exam
55200 70 6c 65 2c 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 ple,......Corresponding.Source.i
55220 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c ncludes.interface.definition.fil
55240 65 73 20 61 73 73 6f 63 69 61 74 65 64 0a 20 20 20 20 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 es.associated......with.source.f
55260 69 6c 65 73 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 iles.for.the.work,.and.the.sourc
55280 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 0a 20 20 20 20 20 6c 69 62 72 61 72 69 65 73 e.code.for.shared......libraries
552a0 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 73 75 62 70 72 6f 67 72 .and.dynamically.linked.subprogr
552c0 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 0a 20 20 20 20 20 73 70 65 63 69 66 ams.that.the.work.is......specif
552e0 69 63 61 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 20 73 75 63 68 ically.designed.to.require,.such
55300 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 0a 20 20 20 20 20 63 6f 6d 6d 75 6e .as.by.intimate.data......commun
55320 69 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 ication.or.control.flow.between.
55340 74 68 6f 73 65 20 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 0a 20 20 20 20 those.subprograms.and.other.....
55360 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 54 68 65 20 43 6f .parts.of.the.work........The.Co
55380 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c rresponding.Source.need.not.incl
553a0 75 64 65 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 20 63 61 6e 0a 20 20 20 20 ude.anything.that.users.can.....
553c0 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f .regenerate.automatically.from.o
553e0 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a ther.parts.of.the.Corresponding.
55400 20 20 20 20 20 53 6f 75 72 63 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e .....Source........The.Correspon
55420 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 73 6f 75 72 63 65 ding.Source.for.a.work.in.source
55440 20 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 20 20 20 20 20 73 61 6d 65 20 77 6f 72 .code.form.is.that......same.wor
55460 6b 2e 0a 0a 20 20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 k.....2..Basic.Permissions......
55480 20 20 41 6c 6c 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 ..All.rights.granted.under.this.
554a0 4c 69 63 65 6e 73 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 72 6d License.are.granted.for.the.term
554c0 20 6f 66 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 .of......copyright.on.the.Progra
554e0 6d 2c 20 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 m,.and.are.irrevocable.provided.
55500 74 68 65 20 73 74 61 74 65 64 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d the.stated......conditions.are.m
55520 65 74 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 et...This.License.explicitly.aff
55540 69 72 6d 73 20 79 6f 75 72 20 75 6e 6c 69 6d 69 74 65 64 0a 20 20 20 20 20 70 65 72 6d 69 73 73 irms.your.unlimited......permiss
55560 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 ion.to.run.the.unmodified.Progra
55580 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 0a 20 20 20 20 m...The.output.from.running.....
555a0 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 .a.covered.work.is.covered.by.th
555c0 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 is.License.only.if.the.output,.g
555e0 69 76 65 6e 0a 20 20 20 20 20 69 74 73 20 63 6f 6e 74 65 6e 74 2c 20 63 6f 6e 73 74 69 74 75 74 iven......its.content,.constitut
55600 65 73 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 es.a.covered.work...This.License
55620 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 0a 20 20 20 20 20 79 6f 75 72 20 72 69 67 68 74 73 20 6f .acknowledges......your.rights.o
55640 66 20 66 61 69 72 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 6e 74 2c 20 f.fair.use.or.other.equivalent,.
55660 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6c 61 as.provided.by......copyright.la
55680 77 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 w........You.may.make,.run.and.p
556a0 72 6f 70 61 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 ropagate.covered.works.that.you.
556c0 64 6f 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 do.not......convey,.without.cond
556e0 69 74 69 6f 6e 73 20 73 6f 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f itions.so.long.as.your.license.o
55700 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 73 20 69 6e 20 66 6f 72 63 65 2e 20 therwise......remains.in.force..
55720 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f .You.may.convey.covered.works.to
55740 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 73 6f 6c 65 20 70 75 72 70 6f 73 .others.for.the......sole.purpos
55760 65 20 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 e.of.having.them.make.modificati
55780 6f 6e 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 2c 0a 20 20 20 20 20 6f 72 ons.exclusively.for.you,......or
557a0 20 70 72 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 .provide.you.with.facilities.for
557c0 20 72 75 6e 6e 69 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 6f 76 69 64 65 64 0a 20 .running.those.works,.provided..
557e0 20 20 20 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 20 74 65 72 ....that.you.comply.with.the.ter
55800 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 ms.of.this.License.in.conveying.
55820 61 6c 6c 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 all......material.for.which.you.
55840 64 6f 20 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 do.not.control.copyright...Those
55860 20 74 68 75 73 20 6d 61 6b 69 6e 67 0a 20 20 20 20 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 .thus.making......or.running.the
55880 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 .covered.works.for.you.must.do.s
558a0 6f 20 65 78 63 6c 75 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 0a 20 20 20 20 20 62 65 68 61 6c o.exclusively.on.your......behal
558c0 66 2c 20 75 6e 64 65 72 20 79 6f 75 72 20 64 69 72 65 63 74 69 6f 6e 20 61 6e 64 20 63 6f 6e 74 f,.under.your.direction.and.cont
558e0 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 0a 20 20 20 20 rol,.on.terms.that.prohibit.....
55900 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 .them.from.making.any.copies.of.
55920 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 your.copyrighted.material.outsid
55940 65 0a 20 20 20 20 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 77 69 74 68 20 79 e......their.relationship.with.y
55960 6f 75 2e 0a 0a 20 20 20 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 61 6e 79 20 6f 74 ou........Conveying.under.any.ot
55980 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 73 her.circumstances.is.permitted.s
559a0 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 olely.under......the.conditions.
559c0 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 20 6e stated.below...Sublicensing.is.n
559e0 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 31 30 20 6d 61 6b 65 ot.allowed;.section......10.make
55a00 73 20 69 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 s.it.unnecessary.....3..Protecti
55a20 6e 67 20 55 73 65 72 73 e2 80 99 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e ng.Users....Legal.Rights.From.An
55a40 74 69 2d 43 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 20 20 20 4e 6f 20 63 ti-Circumvention.Law........No.c
55a60 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 overed.work.shall.be.deemed.part
55a80 20 6f 66 20 61 6e 20 65 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 20 .of.an.effective.technological..
55aa0 20 20 20 20 6d 65 61 73 75 72 65 20 75 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 ....measure.under.any.applicable
55ac0 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 .law.fulfilling.obligations.unde
55ae0 72 0a 20 20 20 20 20 61 72 74 69 63 6c 65 20 31 31 20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f r......article.11.of.the.WIPO.co
55b00 70 79 72 69 67 68 74 20 74 72 65 61 74 79 20 61 64 6f 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 pyright.treaty.adopted.on.20.Dec
55b20 65 6d 62 65 72 0a 20 20 20 20 20 31 39 39 36 2c 20 6f 72 20 73 69 6d 69 6c 61 72 20 6c 61 77 73 ember......1996,.or.similar.laws
55b40 20 70 72 6f 68 69 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 63 69 72 63 .prohibiting.or.restricting.circ
55b60 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 73 75 63 68 20 6d 65 61 73 75 72 65 73 2e umvention.of......such.measures.
55b80 0a 0a 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 .......When.you.convey.a.covered
55ba0 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 72 .work,.you.waive.any.legal.power
55bc0 20 74 6f 20 66 6f 72 62 69 64 0a 20 20 20 20 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 .to.forbid......circumvention.of
55be0 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 .technological.measures.to.the.e
55c00 78 74 65 6e 74 20 73 75 63 68 0a 20 20 20 20 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 69 73 xtent.such......circumvention.is
55c20 20 65 66 66 65 63 74 65 64 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 .effected.by.exercising.rights.u
55c40 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 77 69 74 68 20 72 65 73 70 nder.this.License......with.resp
55c60 65 63 74 20 74 6f 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 ect.to.the.covered.work,.and.you
55c80 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 .disclaim.any.intention.to......
55ca0 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 limit.operation.or.modification.
55cc0 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 6f 66 0a 20 20 20 20 20 65 of.the.work.as.a.means.of......e
55ce0 6e 66 6f 72 63 69 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f 72 6b e2 80 99 73 20 75 nforcing,.against.the.work...s.u
55d00 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 73 e2 80 99 20 6c sers,.your.or.third.parties....l
55d20 65 67 61 6c 0a 20 20 20 20 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 egal......rights.to.forbid.circu
55d40 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 mvention.of.technological.measur
55d60 65 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 es.....4..Conveying.Verbatim.Cop
55d80 69 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 ies........You.may.convey.verbat
55da0 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d e2 80 99 73 20 73 6f 75 im.copies.of.the.Program...s.sou
55dc0 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 0a 20 20 20 20 20 72 65 63 65 69 76 65 20 69 74 2c rce.code.as.you......receive.it,
55de0 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f .in.any.medium,.provided.that.yo
55e00 75 20 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 20 20 20 20 20 61 70 70 72 6f 70 72 u.conspicuously.and......appropr
55e20 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 iately.publish.on.each.copy.an.a
55e40 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 20 20 20 ppropriate.copyright.notice;....
55e60 20 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e ..keep.intact.all.notices.statin
55e80 67 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 0a 20 20 20 20 g.that.this.License.and.any.....
55ea0 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 64 20 69 6e 20 61 .non-permissive.terms.added.in.a
55ec0 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 20 74 6f 20 74 68 ccord.with.section.7.apply.to.th
55ee0 65 0a 20 20 20 20 20 63 6f 64 65 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 e......code;.keep.intact.all.not
55f00 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 ices.of.the.absence.of.any.warra
55f20 6e 74 79 3b 20 61 6e 64 0a 20 20 20 20 20 67 69 76 65 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 nty;.and......give.all.recipient
55f40 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 s.a.copy.of.this.License.along.w
55f60 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 ith.the.Program........You.may.c
55f80 68 61 72 67 65 20 61 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 harge.any.price.or.no.price.for.
55fa0 65 61 63 68 20 63 6f 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 20 20 20 20 20 each.copy.that.you.convey,......
55fc0 61 6e 64 20 79 6f 75 20 6d 61 79 20 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 and.you.may.offer.support.or.war
55fe0 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 ranty.protection.for.a.fee.....5
56000 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 ..Conveying.Modified.Source.Vers
56020 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 ions........You.may.convey.a.wor
56040 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d k.based.on.the.Program,.or.the.m
56060 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 70 72 6f 64 75 63 65 20 69 74 20 odifications.to......produce.it.
56080 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 from.the.Program,.in.the.form.of
560a0 20 73 6f 75 72 63 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 74 65 72 6d .source.code.under.the......term
560c0 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f s.of.section.4,.provided.that.yo
560e0 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 20 63 6f u.also.meet.all.of.these......co
56100 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 54 68 65 20 77 6f 72 6b 20 6d 75 nditions:.........a..The.work.mu
56120 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 st.carry.prominent.notices.stati
56140 6e 67 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 69 ng.that.you...........modified.i
56160 74 2c 20 61 6e 64 20 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a t,.and.giving.a.relevant.date...
56180 20 20 20 20 20 20 20 62 2e 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 .......b..The.work.must.carry.pr
561a0 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 ominent.notices.stating.that.it.
561c0 69 73 0a 20 20 20 20 20 20 20 20 20 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 is...........released.under.this
561e0 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 .License.and.any.conditions.adde
56200 64 20 75 6e 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 37 2e 20 20 54 68 d.under...........section.7...Th
56220 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 71 75 is.requirement.modifies.the.requ
56240 69 72 65 6d 65 6e 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 34 20 74 irement.in...........section.4.t
56260 6f 20 e2 80 9c 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 e2 80 9d 2e o....keep.intact.all.notices....
56280 0a 0a 20 20 20 20 20 20 20 63 2e 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 .........c..You.must.license.the
562a0 20 65 6e 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 .entire.work,.as.a.whole,.under.
562c0 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 this...........License.to.anyone
562e0 20 77 68 6f 20 63 6f 6d 65 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 .who.comes.into.possession.of.a.
56300 63 6f 70 79 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 copy...This...........License.wi
56320 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 ll.therefore.apply,.along.with.a
56340 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 ny.applicable...........section.
56360 37 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 6f 20 74 68 65 20 77 68 6f 6c 65 7.additional.terms,.to.the.whole
56380 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 .of.the.work,.and.all...........
563a0 69 74 73 20 70 61 72 74 73 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 its.parts,.regardless.of.how.the
563c0 79 20 61 72 65 20 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 y.are.packaged...This.License...
563e0 20 20 20 20 20 20 20 20 67 69 76 65 73 20 6e 6f 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c ........gives.no.permission.to.l
56400 69 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 icense.the.work.in.any.other.way
56420 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 61 ,.but...........it.does.not.inva
56440 6c 69 64 61 74 65 20 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 lidate.such.permission.if.you.ha
56460 76 65 20 73 65 70 61 72 61 74 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 64 ve.separately...........received
56480 20 69 74 2e 0a 0a 20 20 20 20 20 20 20 64 2e 20 49 66 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 .it..........d..If.the.work.has.
564a0 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 73 2c 20 65 61 63 interactive.user.interfaces,.eac
564c0 68 20 6d 75 73 74 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 41 70 70 72 6f 70 72 h.must.display...........Appropr
564e0 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 72 2c 20 69 66 20 iate.Legal.Notices;.however,.if.
56500 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 the.Program.has...........intera
56520 63 74 69 76 65 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 ctive.interfaces.that.do.not.dis
56540 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 20 play.Appropriate.Legal..........
56560 20 4e 6f 74 69 63 65 73 2c 20 79 6f 75 72 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b .Notices,.your.work.need.not.mak
56580 65 20 74 68 65 6d 20 64 6f 20 73 6f 2e 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f e.them.do.so........A.compilatio
565a0 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 n.of.a.covered.work.with.other.s
565c0 65 70 61 72 61 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 20 20 20 20 20 77 6f 72 eparate.and.independent......wor
565e0 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 ks,.which.are.not.by.their.natur
56600 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 20 20 20 20 e.extensions.of.the.covered.....
56620 20 77 6f 72 6b 2c 20 61 6e 64 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 .work,.and.which.are.not.combine
56640 64 20 77 69 74 68 20 69 74 20 73 75 63 68 20 61 73 20 74 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 d.with.it.such.as.to.form.a.larg
56660 65 72 0a 20 20 20 20 20 70 72 6f 67 72 61 6d 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 er......program,.in.or.on.a.volu
56680 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 me.of.a.storage.or.distribution.
566a0 6d 65 64 69 75 6d 2c 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 61 6e 20 e2 80 9c 61 67 67 medium,.is......called.an....agg
566c0 72 65 67 61 74 65 e2 80 9d 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 regate....if.the.compilation.and
566e0 20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 61 72 .its.resulting......copyright.ar
56700 65 20 6e 6f 74 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f e.not.used.to.limit.the.access.o
56720 72 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 69 r.legal.rights.of.the......compi
56740 6c 61 74 69 6f 6e e2 80 99 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 lation...s.users.beyond.what.the
56760 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 0a 20 20 20 20 20 49 .individual.works.permit.......I
56780 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 6e nclusion.of.a.covered.work.in.an
567a0 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 69 73 0a 20 .aggregate.does.not.cause.this..
567c0 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 ....License.to.apply.to.the.othe
567e0 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 20 20 36 2e 20 r.parts.of.the.aggregate.....6..
56800 43 6f 6e 76 65 79 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f 72 6d 73 2e 0a 0a 20 20 20 Conveying.Non-Source.Forms......
56820 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 ..You.may.convey.a.covered.work.
56840 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 in.object.code.form.under.the.te
56860 72 6d 73 0a 20 20 20 20 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 70 72 rms......of.sections.4.and.5,.pr
56880 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 65 0a ovided.that.you.also.convey.the.
568a0 20 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 .....machine-readable.Correspond
568c0 69 6e 67 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 ing.Source.under.the.terms.of.th
568e0 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 is......License,.in.one.of.these
56900 20 77 61 79 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a .ways:.........a..Convey.the.obj
56920 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 ect.code.in,.or.embodied.in,.a.p
56940 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 63 6c 75 hysical.product...........(inclu
56960 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 ding.a.physical.distribution.med
56980 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 ium),.accompanied.by.the........
569a0 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 69 78 65 64 20 6f 6e ...Corresponding.Source.fixed.on
569c0 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 0a 20 20 20 20 20 .a.durable.physical.medium......
569e0 20 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 .....customarily.used.for.softwa
56a00 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 20 20 20 62 2e 20 43 6f 6e 76 65 re.interchange..........b..Conve
56a20 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 y.the.object.code.in,.or.embodie
56a40 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 20 20 d.in,.a.physical.product........
56a60 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 ...(including.a.physical.distrib
56a80 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a ution.medium),.accompanied.by.a.
56aa0 20 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 ..........written.offer,.valid.f
56ac0 6f 72 20 61 74 20 6c 65 61 73 74 20 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 or.at.least.three.years.and.vali
56ae0 64 20 66 6f 72 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f d.for.as...........long.as.you.o
56b00 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 6f 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 ffer.spare.parts.or.customer.sup
56b20 70 6f 72 74 20 66 6f 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 64 75 63 74 20 port.for.that...........product.
56b40 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 6f 20 70 6f 73 73 65 73 model,.to.give.anyone.who.posses
56b60 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 65 69 ses.the.object.code...........ei
56b80 74 68 65 72 20 28 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e ther.(1).a.copy.of.the.Correspon
56ba0 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 ding.Source.for.all.the.........
56bc0 20 20 73 6f 66 74 77 61 72 65 20 69 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 ..software.in.the.product.that.i
56be0 73 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 0a s.covered.by.this.License,.on.a.
56c00 20 20 20 20 20 20 20 20 20 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 ..........durable.physical.mediu
56c20 6d 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 0a m.customarily.used.for.software.
56c40 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 63 68 61 6e 67 65 2c 20 66 6f 72 20 61 20 70 72 69 ..........interchange,.for.a.pri
56c60 63 65 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 ce.no.more.than.your.reasonable.
56c80 63 6f 73 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 cost.of...........physically.per
56ca0 66 6f 72 6d 69 6e 67 20 74 68 69 73 20 63 6f 6e 76 65 79 69 6e 67 20 6f 66 20 73 6f 75 72 63 65 forming.this.conveying.of.source
56cc0 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 ,.or.(2).access...........to.cop
56ce0 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 72 6f 6d 20 y.the.Corresponding.Source.from.
56d00 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 a.network.server.at.no..........
56d20 20 63 68 61 72 67 65 2e 0a 0a 20 20 20 20 20 20 20 63 2e 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 .charge..........c..Convey.indiv
56d40 69 64 75 61 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 idual.copies.of.the.object.code.
56d60 77 69 74 68 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 with.a.copy.of.the...........wri
56d80 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 tten.offer.to.provide.the.Corres
56da0 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 ponding.Source...This...........
56dc0 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 6c 79 20 6f 63 63 61 alternative.is.allowed.only.occa
56de0 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 0a 20 20 sionally.and.noncommercially,...
56e00 20 20 20 20 20 20 20 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 65 69 76 65 64 ........and.only.if.you.received
56e20 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 61 6e 20 6f 66 .the.object.code.with.such.an.of
56e40 66 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 75 fer,...........in.accord.with.su
56e60 62 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 20 20 20 64 2e 20 43 6f 6e 76 65 79 20 74 bsection.6b..........d..Convey.t
56e80 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 he.object.code.by.offering.acces
56ea0 73 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 70 6c s.from.a.designated...........pl
56ec0 61 63 65 20 28 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e ace.(gratis.or.for.a.charge),.an
56ee0 64 20 6f 66 66 65 72 20 65 71 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 0a 20 20 20 d.offer.equivalent.access.to....
56f00 20 20 20 20 20 20 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 .......the.Corresponding.Source.
56f20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 in.the.same.way.through.the.same
56f40 0a 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 20 61 74 20 6e 6f 20 66 75 72 74 68 65 72 20 63 ...........place.at.no.further.c
56f60 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 65 71 75 69 72 65 20 72 65 63 harge...You.need.not.require.rec
56f80 69 70 69 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 79 20 74 68 65 20 43 6f ipients...........to.copy.the.Co
56fa0 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 rresponding.Source.along.with.th
56fc0 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 e.object.code............If.the.
56fe0 70 6c 61 63 65 20 74 6f 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 place.to.copy.the.object.code.is
57000 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 .a.network.server,.the..........
57020 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6d 61 79 20 62 65 20 6f 6e 20 .Corresponding.Source.may.be.on.
57040 61 20 64 69 66 66 65 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 0a a.different.server.(operated.by.
57060 20 20 20 20 20 20 20 20 20 20 79 6f 75 20 6f 72 20 61 20 74 68 69 72 64 20 70 61 72 74 79 29 20 ..........you.or.a.third.party).
57080 74 68 61 74 20 73 75 70 70 6f 72 74 73 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 that.supports.equivalent.copying
570a0 0a 20 20 20 20 20 20 20 20 20 20 66 61 63 69 6c 69 74 69 65 73 2c 20 70 72 6f 76 69 64 65 64 20 ...........facilities,.provided.
570c0 79 6f 75 20 6d 61 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 you.maintain.clear.directions.ne
570e0 78 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 xt.to.the...........object.code.
57100 73 61 79 69 6e 67 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 saying.where.to.find.the.Corresp
57120 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 52 65 67 61 72 64 6c onding.Source............Regardl
57140 65 73 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 20 43 6f 72 ess.of.what.server.hosts.the.Cor
57160 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 responding.Source,.you..........
57180 20 72 65 6d 61 69 6e 20 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 .remain.obligated.to.ensure.that
571a0 20 69 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 0a .it.is.available.for.as.long.as.
571c0 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 ..........needed.to.satisfy.thes
571e0 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 65 2e 20 43 6f 6e 76 65 e.requirements..........e..Conve
57200 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d y.the.object.code.using.peer-to-
57220 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f peer.transmission,...........pro
57240 76 69 64 65 64 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 70 65 65 72 73 20 77 68 65 vided.you.inform.other.peers.whe
57260 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 re.the.object.code.and..........
57280 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 .Corresponding.Source.of.the.wor
572a0 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 k.are.being.offered.to.the......
572c0 20 20 20 20 20 67 65 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 20 63 68 61 72 67 65 .....general.public.at.no.charge
572e0 20 75 6e 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 20 20 20 41 20 73 65 .under.subsection.6d........A.se
57300 70 61 72 61 62 6c 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f parable.portion.of.the.object.co
57320 64 65 2c 20 77 68 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 0a 20 20 20 20 20 65 78 de,.whose.source.code.is......ex
57340 63 6c 75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f cluded.from.the.Corresponding.So
57360 75 72 63 65 20 61 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 0a 20 urce.as.a.System.Library,.need..
57380 20 20 20 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 ....not.be.included.in.conveying
573a0 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 .the.object.code.work........A..
573c0 80 9c 55 73 65 72 20 50 72 6f 64 75 63 74 e2 80 9d 20 69 73 20 65 69 74 68 65 72 20 28 31 29 20 ..User.Product....is.either.(1).
573e0 61 20 e2 80 9c 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 e2 80 9d 2c 20 77 68 69 63 68 20 a....consumer.product...,.which.
57400 6d 65 61 6e 73 0a 20 20 20 20 20 61 6e 79 20 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c means......any.tangible.personal
57420 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 .property.which.is.normally.used
57440 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 0a 20 20 20 20 20 66 61 6d 69 6c 79 2c 20 6f 72 20 68 .for.personal,......family,.or.h
57460 6f 75 73 65 68 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 ousehold.purposes,.or.(2).anythi
57480 6e 67 20 64 65 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 0a 20 20 20 20 20 69 6e 63 ng.designed.or.sold.for......inc
574a0 6f 72 70 6f 72 61 74 69 6f 6e 20 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 orporation.into.a.dwelling...In.
574c0 64 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 determining.whether.a.product.is
574e0 0a 20 20 20 20 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 2c 20 64 6f 75 62 74 66 ......a.consumer.product,.doubtf
57500 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 ul.cases.shall.be.resolved.in.fa
57520 76 6f 72 20 6f 66 0a 20 20 20 20 20 63 6f 76 65 72 61 67 65 2e 20 20 46 6f 72 20 61 20 70 61 72 vor.of......coverage...For.a.par
57540 74 69 63 75 6c 61 72 20 70 72 6f 64 75 63 74 20 72 65 63 65 69 76 65 64 20 62 79 20 61 20 70 61 ticular.product.received.by.a.pa
57560 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 0a 20 20 20 20 20 e2 80 9c 6e 6f 72 6d 61 6c 6c 79 20 rticular.user,.........normally.
57580 75 73 65 64 e2 80 9d 20 72 65 66 65 72 73 20 74 6f 20 61 20 74 79 70 69 63 61 6c 20 6f 72 20 63 used....refers.to.a.typical.or.c
575a0 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 0a 20 20 20 20 20 ommon.use.of.that.class.of......
575c0 70 72 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 product,.regardless.of.the.statu
575e0 73 20 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 s.of.the.particular.user.or.of.t
57600 68 65 0a 20 20 20 20 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 he......way.in.which.the.particu
57620 6c 61 72 20 75 73 65 72 20 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 lar.user.actually.uses,.or.expec
57640 74 73 20 6f 72 20 69 73 0a 20 20 20 20 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 ts.or.is......expected.to.use,.t
57660 68 65 20 70 72 6f 64 75 63 74 2e 20 20 41 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 he.product...A.product.is.a.cons
57680 75 6d 65 72 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 umer.product......regardless.of.
576a0 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 64 75 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 whether.the.product.has.substant
576c0 69 61 6c 20 63 6f 6d 6d 65 72 63 69 61 6c 2c 0a 20 20 20 20 20 69 6e 64 75 73 74 72 69 61 6c 20 ial.commercial,......industrial.
576e0 6f 72 20 6e 6f 6e 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 75 6e 6c 65 73 73 20 73 75 63 or.non-consumer.uses,.unless.suc
57700 68 20 75 73 65 73 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c 79 20 73 h.uses.represent.the......only.s
57720 69 67 6e 69 66 69 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 68 65 20 70 72 ignificant.mode.of.use.of.the.pr
57740 6f 64 75 63 74 2e 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 oduct...........Installation.Inf
57760 6f 72 6d 61 74 69 6f 6e e2 80 9d 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d ormation....for.a.User.Product.m
57780 65 61 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 20 20 20 20 20 70 72 6f 63 65 64 75 72 65 eans.any.methods,......procedure
577a0 73 2c 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 s,.authorization.keys,.or.other.
577c0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 0a 20 20 20 20 20 69 6e 73 information.required.to......ins
577e0 74 61 6c 6c 20 61 6e 64 20 65 78 65 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f tall.and.execute.modified.versio
57800 6e 73 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 0a 20 20 20 ns.of.a.covered.work.in.that....
57820 20 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 6f 6d 20 61 20 6d 6f 64 69 66 69 65 64 20 76 ..User.Product.from.a.modified.v
57840 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 ersion.of.its.Corresponding.Sour
57860 63 65 2e 0a 20 20 20 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 ce.......The.information.must.su
57880 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 69 6e 75 ffice.to.ensure.that.the.continu
578a0 65 64 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 ed......functioning.of.the.modif
578c0 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 61 73 65 20 70 72 ied.object.code.is.in.no.case.pr
578e0 65 76 65 6e 74 65 64 20 6f 72 0a 20 20 20 20 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 20 evented.or......interfered.with.
57900 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 20 solely.because.modification.has.
57920 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 been.made........If.you.convey.a
57940 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 n.object.code.work.under.this.se
57960 63 74 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 0a 20 20 20 20 20 6f 72 20 73 70 65 63 69 ction.in,.or.with,......or.speci
57980 66 69 63 61 6c 6c 79 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 fically.for.use.in,.a.User.Produ
579a0 63 74 2c 20 61 6e 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 0a 20 20 20 20 20 6f 63 63 75 72 ct,.and.the.conveying......occur
579c0 73 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 s.as.part.of.a.transaction.in.wh
579e0 69 63 68 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 0a 20 20 20 20 ich.the.right.of.possession.....
57a00 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 .and.use.of.the.User.Product.is.
57a20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 0a transferred.to.the.recipient.in.
57a40 20 20 20 20 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 20 61 20 66 69 78 65 64 20 74 .....perpetuity.or.for.a.fixed.t
57a60 65 72 6d 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 20 74 72 61 6e 73 erm.(regardless.of.how.the.trans
57a80 61 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 64 29 2c 20 74 action......is.characterized),.t
57aa0 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 he.Corresponding.Source.conveyed
57ac0 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 .under.this......section.must.be
57ae0 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .accompanied.by.the.Installation
57b00 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 0a 20 20 20 20 20 74 68 69 73 20 72 65 71 .Information...But......this.req
57b20 75 69 72 65 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 69 66 20 6e 65 69 74 68 uirement.does.not.apply.if.neith
57b40 65 72 20 79 6f 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 0a 20 20 20 20 20 er.you.nor.any.third.party......
57b60 72 65 74 61 69 6e 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6d retains.the.ability.to.install.m
57b80 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 0a odified.object.code.on.the.User.
57ba0 20 20 20 20 20 50 72 6f 64 75 63 74 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 .....Product.(for.example,.the.w
57bc0 6f 72 6b 20 68 61 73 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a ork.has.been.installed.in.ROM)..
57be0 0a 20 20 20 20 20 54 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 ......The.requirement.to.provide
57c00 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e .Installation.Information.does.n
57c20 6f 74 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 20 61 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f ot......include.a.requirement.to
57c40 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 73 65 72 .continue.to.provide.support.ser
57c60 76 69 63 65 2c 0a 20 20 20 20 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 74 65 73 20 vice,......warranty,.or.updates.
57c80 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 for.a.work.that.has.been.modifie
57ca0 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 0a 20 20 20 20 20 62 79 20 74 68 65 20 72 65 63 69 70 d.or.installed......by.the.recip
57cc0 69 65 6e 74 2c 20 6f 72 20 66 6f 72 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e ient,.or.for.the.User.Product.in
57ce0 20 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 64 .which.it.has.been......modified
57d00 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 20 6e 65 74 77 .or.installed...Access.to.a.netw
57d20 6f 72 6b 20 6d 61 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 ork.may.be.denied.when.the......
57d40 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 modification.itself.materially.a
57d60 6e 64 20 61 64 76 65 72 73 65 6c 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 nd.adversely.affects.the.operati
57d80 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 on......of.the.network.or.violat
57da0 65 73 20 74 68 65 20 72 75 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 0a 20 es.the.rules.and.protocols.for..
57dc0 20 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 6f 73 73 20 74 68 65 20 6e 65 74 ....communication.across.the.net
57de0 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 work........Corresponding.Source
57e00 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f .conveyed,.and.Installation.Info
57e20 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 2c 20 69 6e 20 61 63 63 6f 72 64 rmation......provided,.in.accord
57e40 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e 20 61 20 .with.this.section.must.be.in.a.
57e60 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 70 75 62 6c 69 63 6c 79 20 64 6f 63 format.that.is......publicly.doc
57e80 75 6d 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 umented.(and.with.an.implementat
57ea0 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 70 75 62 6c 69 63 ion.available.to.the......public
57ec0 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 .in.source.code.form),.and.must.
57ee0 72 65 71 75 69 72 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 require.no.special.password.....
57f00 20 6f 72 20 6b 65 79 20 66 6f 72 20 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f .or.key.for.unpacking,.reading.o
57f20 72 20 63 6f 70 79 69 6e 67 2e 0a 0a 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d r.copying.....7..Additional.Term
57f40 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f s...........Additional.permissio
57f60 6e 73 e2 80 9d 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 ns....are.terms.that.supplement.
57f80 74 68 65 20 74 65 72 6d 73 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 62 the.terms.of......this.License.b
57fa0 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d 20 6f 6e 65 20 6f 72 20 y.making.exceptions.from.one.or.
57fc0 6d 6f 72 65 20 6f 66 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 41 64 more.of.its......conditions...Ad
57fe0 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 70 ditional.permissions.that.are.ap
58000 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 72 6f 67 plicable.to.the......entire.Prog
58020 72 61 6d 20 73 68 61 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 ram.shall.be.treated.as.though.t
58040 68 65 79 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 20 20 20 20 20 74 68 69 73 20 4c hey.were.included.in......this.L
58060 69 63 65 6e 73 65 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 74 68 65 79 20 icense,.to.the.extent.that.they.
58080 61 72 65 20 76 61 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 are.valid.under.applicable......
580a0 6c 61 77 2e 20 20 49 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 law...If.additional.permissions.
580c0 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 apply.only.to.part.of.the.Progra
580e0 6d 2c 0a 20 20 20 20 20 74 68 61 74 20 70 61 72 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 m,......that.part.may.be.used.se
58100 70 61 72 61 74 65 6c 79 20 75 6e 64 65 72 20 74 68 6f 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 parately.under.those.permissions
58120 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d 20 72 65 ,.but.the......entire.Program.re
58140 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 mains.governed.by.this.License.w
58160 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 0a 20 20 20 20 20 74 68 65 20 61 64 64 69 74 69 ithout.regard.to......the.additi
58180 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 79 6f 75 onal.permissions........When.you
581a0 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b .convey.a.copy.of.a.covered.work
581c0 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 72 65 ,.you.may.at.your.option......re
581e0 6d 6f 76 65 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 move.any.additional.permissions.
58200 66 72 6f 6d 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 from.that.copy,.or.from.any.part
58220 0a 20 20 20 20 20 6f 66 20 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 ......of.it...(Additional.permis
58240 73 69 6f 6e 73 20 6d 61 79 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 sions.may.be.written.to.require.
58260 74 68 65 69 72 20 6f 77 6e 0a 20 20 20 20 20 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 their.own......removal.in.certai
58280 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b n.cases.when.you.modify.the.work
582a0 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c 61 63 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 .)..You.may.place......additiona
582c0 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 74 65 72 69 61 6c 2c 20 61 64 64 65 64 l.permissions.on.material,.added
582e0 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 20 20 20 20 20 .by.you.to.a.covered.work,......
58300 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 6e 20 67 69 76 65 20 61 for.which.you.have.or.can.give.a
58320 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2e ppropriate.copyright.permission.
58340 0a 0a 20 20 20 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 .......Notwithstanding.any.other
58360 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 66 6f 72 20 .provision.of.this.License,.for.
58380 6d 61 74 65 72 69 61 6c 0a 20 20 20 20 20 79 6f 75 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 material......you.add.to.a.cover
583a0 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 ed.work,.you.may.(if.authorized.
583c0 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 20 68 6f 6c 64 65 72 73 20 6f 66 by.the.copyright......holders.of
583e0 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 .that.material).supplement.the.t
58400 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 0a 20 20 20 20 20 74 erms.of.this.License.with......t
58420 65 72 6d 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 erms:.........a..Disclaiming.war
58440 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 ranty.or.limiting.liability.diff
58460 65 72 65 6e 74 6c 79 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 73 erently.from...........the.terms
58480 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 20 6f 66 20 74 68 69 73 20 4c .of.sections.15.and.16.of.this.L
584a0 69 63 65 6e 73 65 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 62 2e 20 52 65 71 75 69 72 69 6e 67 20 icense;.or.........b..Requiring.
584c0 70 72 65 73 65 72 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 69 65 64 20 72 65 61 73 6f 6e preservation.of.specified.reason
584e0 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 able.legal.notices...........or.
58500 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 6d 61 74 65 author.attributions.in.that.mate
58520 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 20 rial.or.in.the.Appropriate......
58540 20 20 20 20 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 .....Legal.Notices.displayed.by.
58560 77 6f 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 works.containing.it;.or.........
58580 63 2e 20 50 72 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e c..Prohibiting.misrepresentation
585a0 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c .of.the.origin.of.that.material,
585c0 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 ...........or.requiring.that.mod
585e0 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 ified.versions.of.such.material.
58600 62 65 20 6d 61 72 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 72 65 61 73 6f 6e 61 62 6c be.marked...........in.reasonabl
58620 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 e.ways.as.different.from.the.ori
58640 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 64 2e 20 4c 69 6d ginal.version;.or.........d..Lim
58660 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 70 75 72 70 iting.the.use.for.publicity.purp
58680 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 0a 20 20 20 20 20 oses.of.names.of.licensors......
586a0 20 20 20 20 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 65 72 69 61 6c 3b .....or.authors.of.the.material;
586c0 20 6f 72 0a 0a 20 20 20 20 20 20 20 65 2e 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 72 61 6e .or.........e..Declining.to.gran
586e0 74 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 66 6f 72 t.rights.under.trademark.law.for
58700 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 20 74 72 61 64 65 20 6e 61 6d .use.of.some...........trade.nam
58720 65 73 2c 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 es,.trademarks,.or.service.marks
58740 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 66 2e 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e ;.or.........f..Requiring.indemn
58760 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f ification.of.licensors.and.autho
58780 72 73 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 rs.of.that...........material.by
587a0 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c .anyone.who.conveys.the.material
587c0 20 28 6f 72 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 .(or.modified...........versions
587e0 20 6f 66 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 .of.it).with.contractual.assumpt
58800 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 74 ions.of.liability.to...........t
58820 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 20 6c 69 61 62 69 6c 69 74 79 20 he.recipient,.for.any.liability.
58840 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 that.these.contractual..........
58860 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 20 .assumptions.directly.impose.on.
58880 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a 20 20 those.licensors.and.authors.....
588a0 20 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 ...All.other.non-permissive.addi
588c0 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 e2 80 9c 66 tional.terms.are.considered....f
588e0 75 72 74 68 65 72 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e 73 e2 80 9d 20 77 69 74 68 urther......restrictions....with
58900 69 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 in.the.meaning.of.section.10...I
58920 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 73 0a 20 20 20 20 20 79 6f 75 20 72 65 63 65 69 76 f.the.Program.as......you.receiv
58940 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 ed.it,.or.any.part.of.it,.contai
58960 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 69 74 ns.a.notice.stating.that......it
58980 20 69 73 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f .is.governed.by.this.License.alo
589a0 6e 67 20 77 69 74 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 69 73 20 61 20 66 75 72 74 68 65 72 ng.with.a.term.that.is.a.further
589c0 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 72 65 6d 6f 76 ......restriction,.you.may.remov
589e0 65 20 74 68 61 74 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d e.that.term...If.a.license.docum
58a00 65 6e 74 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 66 75 72 74 68 65 72 20 72 65 73 74 ent......contains.a.further.rest
58a20 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 riction.but.permits.relicensing.
58a40 6f 72 20 63 6f 6e 76 65 79 69 6e 67 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 or.conveying......under.this.Lic
58a60 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 ense,.you.may.add.to.a.covered.w
58a80 6f 72 6b 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 0a 20 20 20 20 20 62 79 20 74 68 ork.material.governed......by.th
58aa0 65 20 74 65 72 6d 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 e.terms.of.that.license.document
58ac0 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 0a 20 20 20 20 ,.provided.that.the.further.....
58ae0 20 72 65 73 74 72 69 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 .restriction.does.not.survive.su
58b00 63 68 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 ch.relicensing.or.conveying.....
58b20 20 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 ...If.you.add.terms.to.a.covered
58b40 20 77 6f 72 6b 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f .work.in.accord.with.this.sectio
58b60 6e 2c 20 79 6f 75 0a 20 20 20 20 20 6d 75 73 74 20 70 6c 61 63 65 2c 20 69 6e 20 74 68 65 20 72 n,.you......must.place,.in.the.r
58b80 65 6c 65 76 61 6e 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 61 20 73 74 61 74 65 6d 65 6e elevant.source.files,.a.statemen
58ba0 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 74 t.of.the......additional.terms.t
58bc0 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 6e hat.apply.to.those.files,.or.a.n
58be0 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 20 20 20 20 20 77 68 65 72 65 20 74 6f 20 66 otice.indicating......where.to.f
58c00 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 20 20 20 ind.the.applicable.terms........
58c20 41 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 Additional.terms,.permissive.or.
58c40 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e non-permissive,.may.be.stated.in
58c60 0a 20 20 20 20 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 ......the.form.of.a.separately.w
58c80 72 69 74 74 65 6e 20 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 ritten.license,.or.stated.as.exc
58ca0 65 70 74 69 6f 6e 73 3b 0a 20 20 20 20 20 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d eptions;......the.above.requirem
58cc0 65 6e 74 73 20 61 70 70 6c 79 20 65 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 ents.apply.either.way.....8..Ter
58ce0 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 mination........You.may.not.prop
58d00 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 agate.or.modify.a.covered.work.e
58d20 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 xcept.as.expressly......provided
58d40 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 .under.this.License...Any.attemp
58d60 74 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 0a 20 20 20 20 t.otherwise.to.propagate.or.....
58d80 20 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 .modify.it.is.void,.and.will.aut
58da0 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 omatically.terminate.your.rights
58dc0 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c 75 64 ......under.this.License.(includ
58de0 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 64 20 ing.any.patent.licenses.granted.
58e00 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 74 68 69 72 64 20 70 61 72 61 67 72 61 70 68 20 6f under.the......third.paragraph.o
58e20 66 20 73 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 f.section.11)........However,.if
58e40 20 79 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 .you.cease.all.violation.of.this
58e60 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 .License,.then.your......license
58e80 20 66 72 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c .from.a.particular.copyright.hol
58ea0 64 65 72 20 69 73 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 0a 20 20 20 20 20 70 72 6f 76 69 der.is.reinstated.(a)......provi
58ec0 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 sionally,.unless.and.until.the.c
58ee0 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 20 opyright.holder.explicitly.and..
58f00 20 20 20 20 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 ....finally.terminates.your.lice
58f20 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 nse,.and.(b).permanently,.if.the
58f40 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 66 61 69 6c 73 20 74 6f 20 ......copyright.holder.fails.to.
58f60 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 notify.you.of.the.violation.by.s
58f80 6f 6d 65 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 6f 72 20 ome......reasonable.means.prior.
58fa0 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e 0a to.60.days.after.the.cessation..
58fc0 0a 20 20 20 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f ......Moreover,.your.license.fro
58fe0 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 m.a.particular.copyright.holder.
59000 69 73 0a 20 20 20 20 20 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 is......reinstated.permanently.i
59020 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 f.the.copyright.holder.notifies.
59040 79 6f 75 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d you.of.the......violation.by.som
59060 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 e.reasonable.means,.this.is.the.
59080 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 72 65 63 65 69 76 65 first.time.you.have......receive
590a0 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 d.notice.of.violation.of.this.Li
590c0 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 20 66 72 6f 6d 0a 20 20 20 20 20 74 cense.(for.any.work).from......t
590e0 68 61 74 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 hat.copyright.holder,.and.you.cu
59100 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 33 30 20 64 61 79 re.the.violation.prior.to.30.day
59120 73 0a 20 20 20 20 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f 66 20 74 68 65 s......after.your.receipt.of.the
59140 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f .notice........Termination.of.yo
59160 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 ur.rights.under.this.section.doe
59180 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 s.not.terminate......the.license
591a0 73 20 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 s.of.parties.who.have.received.c
591c0 6f 70 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 0a 20 20 20 20 20 75 6e opies.or.rights.from.you......un
591e0 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 der.this.License...If.your.right
59200 73 20 68 61 76 65 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 0a 20 s.have.been.terminated.and.not..
59220 20 20 20 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 ....permanently.reinstated,.you.
59240 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 do.not.qualify.to.receive.new.li
59260 63 65 6e 73 65 73 0a 20 20 20 20 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 6d 61 74 65 72 69 61 censes......for.the.same.materia
59280 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 30 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 l.under.section.10.....9..Accept
592a0 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 64 20 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 ance.Not.Required.for.Having.Cop
592c0 69 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 ies........You.are.not.required.
592e0 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 6f 72 64 65 72 20 to.accept.this.License.in.order.
59300 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 20 20 20 20 20 72 75 6e 20 61 20 63 6f 70 79 20 6f 66 to.receive.or......run.a.copy.of
59320 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 72 6f 70 61 67 61 .the.Program...Ancillary.propaga
59340 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 6f 63 63 75 tion.of.a.covered.work......occu
59360 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 rring.solely.as.a.consequence.of
59380 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 0a 20 20 20 20 20 74 72 61 6e 73 6d 69 .using.peer-to-peer......transmi
593a0 73 73 69 6f 6e 20 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 ssion.to.receive.a.copy.likewise
593c0 20 64 6f 65 73 20 6e 6f 74 20 72 65 71 75 69 72 65 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e 63 .does.not.require......acceptanc
593e0 65 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 e...However,.nothing.other.than.
59400 74 68 69 73 20 4c 69 63 65 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 0a 20 20 20 20 20 70 65 72 this.License.grants.you......per
59420 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 61 mission.to.propagate.or.modify.a
59440 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 0a ny.covered.work...These.actions.
59460 20 20 20 20 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 69 67 68 74 20 69 66 20 79 6f 75 20 64 .....infringe.copyright.if.you.d
59480 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 o.not.accept.this.License...Ther
594a0 65 66 6f 72 65 2c 0a 20 20 20 20 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 20 6f 72 20 70 72 6f 70 efore,......by.modifying.or.prop
594c0 61 67 61 74 69 6e 67 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 69 6e 64 69 agating.a.covered.work,.you.indi
594e0 63 61 74 65 20 79 6f 75 72 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 74 68 69 cate.your......acceptance.of.thi
59500 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 74 6f 6d s.License.to.do.so.....10..Autom
59520 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 52 65 63 atic.Licensing.of.Downstream.Rec
59540 69 70 69 65 6e 74 73 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e ipients........Each.time.you.con
59560 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e vey.a.covered.work,.the.recipien
59580 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 72 65 63 65 69 76 65 73 20 61 20 t.automatically......receives.a.
595a0 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 license.from.the.original.licens
595c0 6f 72 73 2c 20 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 20 20 20 20 20 70 72 6f ors,.to.run,.modify.and......pro
595e0 70 61 67 61 74 65 20 74 68 61 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 pagate.that.work,.subject.to.thi
59600 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 s.License...You.are.not......res
59620 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 ponsible.for.enforcing.complianc
59640 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 77 69 74 68 20 74 68 69 73 0a 20 20 20 e.by.third.parties.with.this....
59660 20 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 41 6e 20 e2 80 9c 65 6e 74 69 74 79 20 74 72 ..License........An....entity.tr
59680 61 6e 73 61 63 74 69 6f 6e e2 80 9d 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 74 72 ansaction....is.a.transaction.tr
596a0 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 20 20 20 20 20 6f 72 ansferring.control.of.an......or
596c0 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c ganization,.or.substantially.all
596e0 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 .assets.of.one,.or.subdividing.a
59700 6e 0a 20 20 20 20 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 n......organization,.or.merging.
59720 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f organizations...If.propagation.o
59740 66 20 61 0a 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 f.a......covered.work.results.fr
59760 6f 6d 20 61 6e 20 65 6e 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 om.an.entity.transaction,.each.p
59780 61 72 74 79 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 arty.to.that......transaction.wh
597a0 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c o.receives.a.copy.of.the.work.al
597c0 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 74 65 76 65 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 so.receives.whatever......licens
597e0 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 61 72 74 79 e2 80 99 73 20 70 72 65 es.to.the.work.the.party...s.pre
59800 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 61 64 20 6f 72 0a 20 20 20 20 decessor.in.interest.had.or.....
59820 20 63 6f 75 6c 64 20 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 .could.give.under.the.previous.p
59840 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 6f 73 73 65 73 aragraph,.plus.a.right.to.posses
59860 73 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 sion......of.the.Corresponding.S
59880 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 ource.of.the.work.from.the.prede
598a0 63 65 73 73 6f 72 20 69 6e 0a 20 20 20 20 20 69 6e 74 65 72 65 73 74 2c 20 69 66 20 74 68 65 20 cessor.in......interest,.if.the.
598c0 70 72 65 64 65 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 predecessor.has.it.or.can.get.it
598e0 20 77 69 74 68 20 72 65 61 73 6f 6e 61 62 6c 65 0a 20 20 20 20 20 65 66 66 6f 72 74 73 2e 0a 0a .with.reasonable......efforts...
59900 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 .....You.may.not.impose.any.furt
59920 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 her.restrictions.on.the.exercise
59940 20 6f 66 20 74 68 65 0a 20 20 20 20 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 .of.the......rights.granted.or.a
59960 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 ffirmed.under.this.License...For
59980 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 0a 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 69 6d 70 6f 73 .example,.you......may.not.impos
599a0 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 79 2c 20 6f 72 20 6f 74 68 e.a.license.fee,.royalty,.or.oth
599c0 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 0a 20 20 20 20 20 6f 66 20 72 er.charge.for.exercise......of.r
599e0 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 ights.granted.under.this.License
59a00 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 0a 20 20 20 20 20 ,.and.you.may.not.initiate......
59a20 6c 69 74 69 67 61 74 69 6f 6e 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c litigation.(including.a.cross-cl
59a40 61 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 aim.or.counterclaim.in.a.lawsuit
59a60 29 0a 20 20 20 20 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 20 61 6e 79 20 70 61 74 65 6e 74 20 )......alleging.that.any.patent.
59a80 63 6c 61 69 6d 20 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 claim.is.infringed.by.making,.us
59aa0 69 6e 67 2c 0a 20 20 20 20 20 73 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 20 ing,......selling,.offering.for.
59ac0 73 61 6c 65 2c 20 6f 72 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f sale,.or.importing.the.Program.o
59ae0 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e r.any.portion......of.it.....11.
59b00 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 63 6f 6e 74 72 69 62 75 74 6f 72 .Patents........A....contributor
59b20 e2 80 9d 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 61 75 ....is.a.copyright.holder.who.au
59b40 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 thorizes.use.under.this......Lic
59b60 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 6f 6e ense.of.the.Program.or.a.work.on
59b80 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e 0a 20 20 20 .which.the.Program.is.based.....
59ba0 20 20 54 68 65 20 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c ..The.work.thus.licensed.is.call
59bc0 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 e2 80 9c 63 6f 6e 74 72 69 ed.the.contributor...s....contri
59be0 62 75 74 6f 72 0a 20 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 2e 0a 0a 20 20 20 20 20 41 20 63 butor......version...........A.c
59c00 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 e2 80 9c 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 ontributor...s....essential.pate
59c20 6e 74 20 63 6c 61 69 6d 73 e2 80 9d 20 61 72 65 20 61 6c 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 nt.claims....are.all.patent.clai
59c40 6d 73 0a 20 20 20 20 20 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 ms......owned.or.controlled.by.t
59c60 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 6c 72 65 61 64 79 20 he.contributor,.whether.already.
59c80 61 63 71 75 69 72 65 64 20 6f 72 0a 20 20 20 20 20 68 65 72 65 61 66 74 65 72 20 61 63 71 75 69 acquired.or......hereafter.acqui
59ca0 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 red,.that.would.be.infringed.by.
59cc0 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 0a 20 20 20 20 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 74 some.manner,......permitted.by.t
59ce0 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f his.License,.of.making,.using,.o
59d00 72 20 73 65 6c 6c 69 6e 67 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 r.selling.its......contributor.v
59d20 65 72 73 69 6f 6e 2c 20 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d ersion,.but.do.not.include.claim
59d40 73 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 69 6e 66 72 69 6e 67 65 64 20 6f s.that.would.be......infringed.o
59d60 6e 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 nly.as.a.consequence.of.further.
59d80 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 modification.of.the......contrib
59da0 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 70 75 72 70 6f 73 65 73 20 6f 66 20 74 utor.version...For.purposes.of.t
59dc0 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 e2 80 9c 63 6f 6e 74 72 6f 6c e2 80 9d 0a 20 20 his.definition,....control......
59de0 20 20 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 61 6e 74 20 70 ...includes.the.right.to.grant.p
59e00 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 20 20 atent.sublicenses.in.a.manner...
59e20 20 20 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 ...consistent.with.the.requireme
59e40 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 nts.of.this.License........Each.
59e60 63 6f 6e 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 contributor.grants.you.a.non-exc
59e80 6c 75 73 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 0a 20 20 20 20 20 72 6f 79 61 6c 74 79 2d lusive,.worldwide,......royalty-
59ea0 66 72 65 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f free.patent.license.under.the.co
59ec0 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 65 73 73 65 6e 74 69 61 6c 0a 20 20 20 20 20 70 61 74 ntributor...s.essential......pat
59ee0 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 20 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 ent.claims,.to.make,.use,.sell,.
59f00 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c 20 69 6d 70 6f 72 74 20 61 6e 64 0a 20 20 20 20 20 offer.for.sale,.import.and......
59f20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 20 70 72 6f 70 61 67 otherwise.run,.modify.and.propag
59f40 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 69 74 73 20 63 6f 6e 74 72 69 62 75 ate.the.contents.of.its.contribu
59f60 74 6f 72 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 66 tor......version........In.the.f
59f80 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 20 e2 80 9c ollowing.three.paragraphs,.a....
59fa0 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 e2 80 9d 20 69 73 20 61 6e 79 0a 20 20 20 20 20 65 78 patent.license....is.any......ex
59fc0 70 72 65 73 73 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 press.agreement.or.commitment,.h
59fe0 6f 77 65 76 65 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 0a 20 20 20 20 20 owever.denominated,.not.to......
5a000 65 6e 66 6f 72 63 65 20 61 20 70 61 74 65 6e 74 20 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 enforce.a.patent.(such.as.an.exp
5a020 72 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 0a 20 20 ress.permission.to.practice.a...
5a040 20 20 20 70 61 74 65 6e 74 20 6f 72 20 63 6f 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 20 73 75 65 ...patent.or.covenant.not.to.sue
5a060 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 e2 .for.patent.infringement)...To..
5a080 80 9c 67 72 61 6e 74 e2 80 9d 0a 20 20 20 20 20 73 75 63 68 20 61 20 70 61 74 65 6e 74 20 6c 69 ..grant.........such.a.patent.li
5a0a0 63 65 6e 73 65 20 74 6f 20 61 20 70 61 72 74 79 20 6d 65 61 6e 73 20 74 6f 20 6d 61 6b 65 20 73 cense.to.a.party.means.to.make.s
5a0c0 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 20 20 20 20 20 63 6f 6d 6d 69 74 6d uch.an.agreement.or......commitm
5a0e0 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 74 65 6e 74 20 61 67 61 69 ent.not.to.enforce.a.patent.agai
5a100 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 nst.the.party........If.you.conv
5a120 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c ey.a.covered.work,.knowingly.rel
5a140 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 2c 20 61 ying.on.a.patent......license,.a
5a160 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 nd.the.Corresponding.Source.of.t
5a180 68 65 20 77 6f 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 66 6f he.work.is.not.available......fo
5a1a0 72 20 61 6e 79 6f 6e 65 20 74 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 r.anyone.to.copy,.free.of.charge
5a1c0 20 61 6e 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 20 20 20 .and.under.the.terms.of.this....
5a1e0 20 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f 75 67 68 20 61 20 70 75 62 6c 69 63 6c 79 20 61 76 ..License,.through.a.publicly.av
5a200 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 0a ailable.network.server.or.other.
5a220 20 20 20 20 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c 65 20 6d 65 61 6e 73 2c 20 74 .....readily.accessible.means,.t
5a240 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 29 20 63 61 75 73 65 20 74 68 hen.you.must.either.(1).cause.th
5a260 65 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 74 6f 20 62 e......Corresponding.Source.to.b
5a280 65 20 73 6f 20 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 72 61 6e 67 65 20 74 e.so.available,.or.(2).arrange.t
5a2a0 6f 20 64 65 70 72 69 76 65 0a 20 20 20 20 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 20 62 o.deprive......yourself.of.the.b
5a2c0 65 6e 65 66 69 74 20 6f 66 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 enefit.of.the.patent.license.for
5a2e0 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 0a 20 20 20 20 20 77 6f 72 6b 2c 20 6f 72 20 28 .this.particular......work,.or.(
5a300 33 29 20 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 20 63 6f 6e 73 69 73 74 65 3).arrange,.in.a.manner.consiste
5a320 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 0a 20 20 20 20 20 6f 66 nt.with.the.requirements......of
5a340 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 .this.License,.to.extend.the.pat
5a360 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 0a 20 20 20 20 20 72 ent.license.to.downstream......r
5a380 65 63 69 70 69 65 6e 74 73 2e 20 20 e2 80 9c 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 ecipients......Knowingly.relying
5a3a0 e2 80 9d 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 65 20 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 ....means.you.have.actual.knowle
5a3c0 64 67 65 0a 20 20 20 20 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 20 74 68 65 20 70 61 74 65 6e dge......that,.but.for.the.paten
5a3e0 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 63 6f t.license,.your.conveying.the.co
5a400 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 6f 72 vered.work......in.a.country,.or
5a420 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 e2 80 99 73 20 75 73 65 20 6f 66 20 74 68 65 20 63 .your.recipient...s.use.of.the.c
5a440 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 0a 20 20 20 20 20 63 6f 75 6e 74 72 79 2c 20 77 overed.work.in.a......country,.w
5a460 6f 75 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 ould.infringe.one.or.more.identi
5a480 66 69 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 63 6f 75 6e fiable.patents.in.that......coun
5a4a0 74 72 79 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 try.that.you.have.reason.to.beli
5a4c0 65 76 65 20 61 72 65 20 76 61 6c 69 64 2e 0a 0a 20 20 20 20 20 49 66 2c 20 70 75 72 73 75 61 6e eve.are.valid........If,.pursuan
5a4e0 74 20 74 6f 20 6f 72 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e t.to.or.in.connection.with.a.sin
5a500 67 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 6f 72 0a 20 20 20 20 20 61 72 72 61 6e 67 65 6d gle.transaction.or......arrangem
5a520 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 ent,.you.convey,.or.propagate.by
5a540 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 20 20 20 20 .procuring.conveyance.of,.a.....
5a560 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 6e 74 20 61 20 70 61 74 65 6e .covered.work,.and.grant.a.paten
5a580 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 t.license.to.some.of.the.parties
5a5a0 0a 20 20 20 20 20 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b ......receiving.the.covered.work
5a5c0 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c 20 70 72 6f 70 61 67 .authorizing.them.to.use,.propag
5a5e0 61 74 65 2c 0a 20 20 20 20 20 6d 6f 64 69 66 79 20 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 70 65 ate,......modify.or.convey.a.spe
5a600 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 cific.copy.of.the.covered.work,.
5a620 74 68 65 6e 20 74 68 65 0a 20 20 20 20 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 79 6f 75 then.the......patent.license.you
5a640 20 67 72 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 .grant.is.automatically.extended
5a660 20 74 6f 20 61 6c 6c 0a 20 20 20 20 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 .to.all......recipients.of.the.c
5a680 6f 76 65 72 65 64 20 77 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 overed.work.and.works.based.on.i
5a6a0 74 2e 0a 0a 20 20 20 20 20 41 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 e2 80 9c t........A.patent.license.is....
5a6c0 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 e2 80 9d 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 discriminatory....if.it.does.not
5a6e0 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e 0a 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 20 6f .include.within......the.scope.o
5a700 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 69 62 69 74 73 20 74 68 65 20 65 78 f.its.coverage,.prohibits.the.ex
5a720 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 65 ercise.of,.or.is......conditione
5a740 64 20 6f 6e 20 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 6f 6e 65 20 6f 72 20 d.on.the.non-exercise.of.one.or.
5a760 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 20 20 20 20 20 61 72 65 more.of.the.rights.that......are
5a780 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 .specifically.granted.under.this
5a7a0 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 61 0a .License...You.may.not.convey.a.
5a7c0 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 .....covered.work.if.you.are.a.p
5a7e0 61 72 74 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 arty.to.an.arrangement.with.a.th
5a800 69 72 64 0a 20 20 20 20 20 70 61 72 74 79 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 20 62 75 ird......party.that.is.in.the.bu
5a820 73 69 6e 65 73 73 20 6f 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c siness.of.distributing.software,
5a840 20 75 6e 64 65 72 20 77 68 69 63 68 0a 20 20 20 20 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 .under.which......you.make.payme
5a860 6e 74 20 74 6f 20 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 nt.to.the.third.party.based.on.t
5a880 68 65 20 65 78 74 65 6e 74 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 61 63 74 69 76 69 74 79 20 he.extent.of.your......activity.
5a8a0 6f 66 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 of.conveying.the.work,.and.under
5a8c0 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 0a 20 20 20 20 20 67 72 61 6e .which.the.third.party......gran
5a8e0 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 20 77 68 6f 20 77 6f ts,.to.any.of.the.parties.who.wo
5a900 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 uld.receive.the.covered.work....
5a920 20 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 20 70 61 74 ..from.you,.a.discriminatory.pat
5a940 65 6e 74 20 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 ent.license.(a).in.connection.wi
5a960 74 68 0a 20 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f th......copies.of.the.covered.wo
5a980 72 6b 20 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 rk.conveyed.by.you.(or.copies.ma
5a9a0 64 65 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 de.from......those.copies),.or.(
5a9c0 62 29 20 70 72 69 6d 61 72 69 6c 79 20 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 b).primarily.for.and.in.connecti
5a9e0 6f 6e 20 77 69 74 68 20 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 70 72 6f 64 75 63 74 73 20 6f on.with.specific......products.o
5aa00 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 r.compilations.that.contain.the.
5aa20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 0a 20 20 20 20 20 65 6e covered.work,.unless.you......en
5aa40 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 6f 72 20 tered.into.that.arrangement,.or.
5aa60 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c that.patent.license.was.granted,
5aa80 0a 20 20 20 20 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 20 32 30 30 37 2e 0a 0a 20 ......prior.to.28.March.2007....
5aaa0 20 20 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 73 68 61 6c ....Nothing.in.this.License.shal
5aac0 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 69 6e 67 20 6f 72 20 6c l.be.construed.as.excluding.or.l
5aae0 69 6d 69 74 69 6e 67 0a 20 20 20 20 20 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 6e 73 65 imiting......any.implied.license
5ab00 20 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 65 6d 65 .or.other.defenses.to.infringeme
5ab20 6e 74 20 74 68 61 74 20 6d 61 79 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 nt.that.may......otherwise.be.av
5ab40 61 69 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 ailable.to.you.under.applicable.
5ab60 70 61 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 patent.law.....12..No.Surrender.
5ab80 6f 66 20 4f 74 68 65 72 73 e2 80 99 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 20 20 20 49 66 20 63 of.Others....Freedom........If.c
5aba0 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 onditions.are.imposed.on.you.(wh
5abc0 65 74 68 65 72 20 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 0a ether.by.court.order,.agreement.
5abe0 20 20 20 20 20 6f 72 20 6f 74 68 65 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 .....or.otherwise).that.contradi
5ac00 63 74 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 ct.the.conditions.of.this.Licens
5ac20 65 2c 20 74 68 65 79 0a 20 20 20 20 20 64 6f 20 6e 6f 74 20 65 78 63 75 73 65 20 79 6f 75 20 66 e,.they......do.not.excuse.you.f
5ac40 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e rom.the.conditions.of.this.Licen
5ac60 73 65 2e 20 20 49 66 20 79 6f 75 0a 20 20 20 20 20 63 61 6e 6e 6f 74 20 63 6f 6e 76 65 79 20 61 se...If.you......cannot.convey.a
5ac80 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 .covered.work.so.as.to.satisfy.s
5aca0 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 0a 20 20 20 20 20 6f 62 6c 69 67 61 74 69 imultaneously.your......obligati
5acc0 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f ons.under.this.License.and.any.o
5ace0 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 0a 20 20 20 20 ther.pertinent.obligations,.....
5ad00 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 20 6e .then.as.a.consequence.you.may.n
5ad20 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c ot.convey.it.at.all...For.exampl
5ad40 65 2c 0a 20 20 20 20 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 e,......if.you.agree.to.terms.th
5ad60 61 74 20 6f 62 6c 69 67 61 74 65 20 79 6f 75 20 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 at.obligate.you.to.collect.a.roy
5ad80 61 6c 74 79 20 66 6f 72 0a 20 20 20 20 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 alty.for......further.conveying.
5ada0 66 72 6f 6d 20 74 68 6f 73 65 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 20 74 68 from.those.to.whom.you.convey.th
5adc0 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 e.Program,.the......only.way.you
5ade0 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 .could.satisfy.both.those.terms.
5ae00 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 0a 20 20 20 20 20 62 65 20 74 and.this.License.would......be.t
5ae20 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 63 6f 6e 76 65 79 69 6e o.refrain.entirely.from.conveyin
5ae40 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 2e 20 55 73 65 20 77 69 74 68 20 74 g.the.Program.....13..Use.with.t
5ae60 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 he.GNU.Affero.General.Public.Lic
5ae80 65 6e 73 65 2e 0a 0a 20 20 20 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 ense........Notwithstanding.any.
5aea0 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c other.provision.of.this.License,
5aec0 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 6e .you.have......permission.to.lin
5aee0 6b 20 6f 72 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 k.or.combine.any.covered.work.wi
5af00 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 20 20 20 20 20 75 6e 64 65 72 20 76 65 th.a.work.licensed......under.ve
5af20 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 rsion.3.of.the.GNU.Affero.Genera
5af40 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 73 69 6e l.Public.License.into.a......sin
5af60 67 6c 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 gle.combined.work,.and.to.convey
5af80 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 0a .the.resulting.work...The.terms.
5afa0 20 20 20 20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e .....of.this.License.will.contin
5afc0 75 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 ue.to.apply.to.the.part.which.is
5afe0 20 74 68 65 0a 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 62 75 74 20 74 68 65 20 .the......covered.work,.but.the.
5b000 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 special.requirements.of.the.GNU.
5b020 41 66 66 65 72 6f 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e Affero......General.Public.Licen
5b040 73 65 2c 20 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e 69 6e 67 20 69 6e 74 65 72 se,.section.13,.concerning.inter
5b060 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 61 20 6e 65 74 77 6f 72 6b 20 77 69 action.through......a.network.wi
5b080 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 73 20 73 ll.apply.to.the.combination.as.s
5b0a0 75 63 68 2e 0a 0a 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f 6e 73 20 6f 66 20 uch.....14..Revised.Versions.of.
5b0c0 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 65 20 53 6f 66 this.License........The.Free.Sof
5b0e0 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 tware.Foundation.may.publish.rev
5b100 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 ised.and/or.new......versions.of
5b120 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
5b140 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 0a 20 20 20 20 20 6e 65 from.time.to.time...Such......ne
5b160 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 w.versions.will.be.similar.in.sp
5b180 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 irit.to.the.present.version,.but
5b1a0 0a 20 20 20 20 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 ......may.differ.in.detail.to.ad
5b1c0 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a dress.new.problems.or.concerns..
5b1e0 0a 20 20 20 20 20 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 ......Each.version.is.given.a.di
5b200 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 stinguishing.version.number...If
5b220 20 74 68 65 0a 20 20 20 20 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 .the......Program.specifies.that
5b240 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 .a.certain.numbered.version.of.t
5b260 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e he.GNU......General.Public.Licen
5b280 73 65 20 e2 80 9c 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e e2 80 9d 20 61 70 se....or.any.later.version....ap
5b2a0 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 0a 20 20 20 20 20 68 61 76 65 20 74 68 65 20 6f plies.to.it,.you......have.the.o
5b2c0 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 ption.of.following.the.terms.and
5b2e0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 0a 20 20 20 20 20 74 68 61 74 20 .conditions.either.of......that.
5b300 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 numbered.version.or.of.any.later
5b320 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 .version.published.by.the.Free..
5b340 20 20 20 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 ....Software.Foundation...If.the
5b360 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 .Program.does.not.specify.a.vers
5b380 69 6f 6e 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 ion......number.of.the.GNU.Gener
5b3a0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 al.Public.License,.you.may.choos
5b3c0 65 20 61 6e 79 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 e.any......version.ever.publishe
5b3e0 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f d.by.the.Free.Software.Foundatio
5b400 6e 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 n........If.the.Program.specifie
5b420 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 20 77 68 69 63 68 20 s.that.a.proxy.can.decide.which.
5b440 66 75 74 75 72 65 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e 55 20 future......versions.of.the.GNU.
5b460 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 General.Public.License.can.be.us
5b480 65 64 2c 20 74 68 61 74 0a 20 20 20 20 20 70 72 6f 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 ed,.that......proxy...s.public.s
5b4a0 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 tatement.of.acceptance.of.a.vers
5b4c0 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 0a 20 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 ion.permanently......authorizes.
5b4e0 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 you.to.choose.that.version.for.t
5b500 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 he.Program........Later.license.
5b520 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c versions.may.give.you.additional
5b540 20 6f 72 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 .or.different......permissions..
5b560 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 .However,.no.additional.obligati
5b580 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a 20 20 20 20 20 61 75 74 68 ons.are.imposed.on.any......auth
5b5a0 6f 72 20 6f 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 61 73 20 61 20 72 65 73 75 or.or.copyright.holder.as.a.resu
5b5c0 6c 74 20 6f 66 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 66 6f 6c 6c 6f 77 20 61 0a lt.of.your.choosing.to.follow.a.
5b5e0 20 20 20 20 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 69 73 63 6c .....later.version.....15..Discl
5b600 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 20 20 20 54 48 45 52 45 20 49 aimer.of.Warranty........THERE.I
5b620 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 S.NO.WARRANTY.FOR.THE.PROGRAM,.T
5b640 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 20 20 20 20 20 41 O.THE.EXTENT.PERMITTED.BY......A
5b660 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 PPLICABLE.LAW...EXCEPT.WHEN.OTHE
5b680 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 0a 20 20 20 20 RWISE.STATED.IN.WRITING.THE.....
5b6a0 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 .COPYRIGHT.HOLDERS.AND/OR.OTHER.
5b6c0 50 41 52 54 49 45 53 20 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 e2 80 9c 41 PARTIES.PROVIDE.THE.PROGRAM....A
5b6e0 53 20 49 53 e2 80 9d 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 S.IS.........WITHOUT.WARRANTY.OF
5b700 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 .ANY.KIND,.EITHER.EXPRESSED.OR.I
5b720 4d 50 4c 49 45 44 2c 0a 20 20 20 20 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 MPLIED,......INCLUDING,.BUT.NOT.
5b740 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 LIMITED.TO,.THE.IMPLIED.WARRANTI
5b760 45 53 20 4f 46 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 ES.OF......MERCHANTABILITY.AND.F
5b780 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e ITNESS.FOR.A.PARTICULAR.PURPOSE.
5b7a0 20 20 54 48 45 20 45 4e 54 49 52 45 0a 20 20 20 20 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 ..THE.ENTIRE......RISK.AS.TO.THE
5b7c0 20 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 .QUALITY.AND.PERFORMANCE.OF.THE.
5b7e0 50 52 4f 47 52 41 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 0a 20 20 20 20 20 53 48 4f 55 4c 44 PROGRAM.IS.WITH.YOU.......SHOULD
5b800 20 54 48 45 20 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f .THE.PROGRAM.PROVE.DEFECTIVE,.YO
5b820 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 0a 20 20 20 20 20 4e 45 U.ASSUME.THE.COST.OF.ALL......NE
5b840 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 CESSARY.SERVICING,.REPAIR.OR.COR
5b860 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 RECTION.....16..Limitation.of.Li
5b880 61 62 69 6c 69 74 79 2e 0a 0a 20 20 20 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 ability........IN.NO.EVENT.UNLES
5b8a0 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 S.REQUIRED.BY.APPLICABLE.LAW.OR.
5b8c0 41 47 52 45 45 44 20 54 4f 20 49 4e 0a 20 20 20 20 20 57 52 49 54 49 4e 47 20 57 49 4c 4c 20 41 AGREED.TO.IN......WRITING.WILL.A
5b8e0 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 NY.COPYRIGHT.HOLDER,.OR.ANY.OTHE
5b900 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 0a 20 20 20 20 20 41 4e 44 2f 4f 52 R.PARTY.WHO.MODIFIES......AND/OR
5b920 20 43 4f 4e 56 45 59 53 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 .CONVEYS.THE.PROGRAM.AS.PERMITTE
5b940 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 0a 20 20 D.ABOVE,.BE.LIABLE.TO.YOU.FOR...
5b960 20 20 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 52 41 ...DAMAGES,.INCLUDING.ANY.GENERA
5b980 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 0a 20 20 20 20 20 43 L,.SPECIAL,.INCIDENTAL.OR......C
5b9a0 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 ONSEQUENTIAL.DAMAGES.ARISING.OUT
5b9c0 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 0a .OF.THE.USE.OR.INABILITY.TO.USE.
5b9e0 20 20 20 20 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 .....THE.PROGRAM.(INCLUDING.BUT.
5ba00 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 NOT.LIMITED.TO.LOSS.OF.DATA.OR.D
5ba20 41 54 41 0a 20 20 20 20 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 ATA......BEING.RENDERED.INACCURA
5ba40 54 45 20 4f 52 20 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 TE.OR.LOSSES.SUSTAINED.BY.YOU.OR
5ba60 20 54 48 49 52 44 0a 20 20 20 20 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 .THIRD......PARTIES.OR.A.FAILURE
5ba80 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 .OF.THE.PROGRAM.TO.OPERATE.WITH.
5baa0 41 4e 59 20 4f 54 48 45 52 0a 20 20 20 20 20 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 ANY.OTHER......PROGRAMS),.EVEN.I
5bac0 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 F.SUCH.HOLDER.OR.OTHER.PARTY.HAS
5bae0 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 0a 20 20 20 20 20 54 48 45 20 50 4f 53 53 49 42 .BEEN.ADVISED.OF......THE.POSSIB
5bb00 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 31 37 2e 20 49 6e ILITY.OF.SUCH.DAMAGES.....17..In
5bb20 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 terpretation.of.Sections.15.and.
5bb40 31 36 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 16........If.the.disclaimer.of.w
5bb60 61 72 72 61 6e 74 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c arranty.and.limitation.of.liabil
5bb80 69 74 79 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 20 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 ity.provided......above.cannot.b
5bba0 65 20 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 e.given.local.legal.effect.accor
5bbc0 64 69 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 20 20 20 20 20 72 65 76 69 65 77 ding.to.their.terms,......review
5bbe0 69 6e 67 20 63 6f 75 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 ing.courts.shall.apply.local.law
5bc00 20 74 68 61 74 20 6d 6f 73 74 20 63 6c 6f 73 65 6c 79 0a 20 20 20 20 20 61 70 70 72 6f 78 69 6d .that.most.closely......approxim
5bc20 61 74 65 73 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 ates.an.absolute.waiver.of.all.c
5bc40 69 76 69 6c 20 6c 69 61 62 69 6c 69 74 79 20 69 6e 0a 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f ivil.liability.in......connectio
5bc60 6e 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 n.with.the.Program,.unless.a.war
5bc80 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 6c 69 61 62 ranty.or.assumption.of......liab
5bca0 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 ility.accompanies.a.copy.of.the.
5bcc0 50 72 6f 67 72 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 45 4e Program.in.return.for.a.fee...EN
5bce0 44 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d D.OF.TERMS.AND.CONDITIONS.======
5bd00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 48 6f 77 20 74 6f 20 41 70 =====================..How.to.Ap
5bd20 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 ply.These.Terms.to.Your.New.Prog
5bd40 72 61 6d 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rams.===========================
5bd60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 64 65 76 65 6c ==================..If.you.devel
5bd80 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 op.a.new.program,.and.you.want.i
5bda0 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 t.to.be.of.the.greatest.possible
5bdc0 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 .use.to.the.public,.the.best.way
5bde0 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 .to.achieve.this.is.to.make.it.f
5be00 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 ree.software.which.everyone.can.
5be20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 redistribute.and.change.under.th
5be40 65 73 65 0a 74 65 72 6d 73 2e 0a 0a 20 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 ese.terms......To.do.so,.attach.
5be60 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f the.following.notices.to.the.pro
5be80 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 gram...It.is.safest.to.attach.th
5bea0 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 em.to.the.start.of.each.source.f
5bec0 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 74 68 ile.to.most.effectively.state.th
5bee0 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 e.exclusion.of.warranty;.and.eac
5bf00 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 74 68 65 0a h.file.should.have.at.least.the.
5bf20 e2 80 9c 63 6f 70 79 72 69 67 68 74 e2 80 9d 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 ...copyright....line.and.a.point
5bf40 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 er.to.where.the.full.notice.is.f
5bf60 6f 75 6e 64 2e 0a 0a 20 20 20 20 20 4f 4e 45 20 4c 49 4e 45 20 54 4f 20 47 49 56 45 20 54 48 45 ound........ONE.LINE.TO.GIVE.THE
5bf80 20 50 52 4f 47 52 41 4d 27 53 20 4e 41 4d 45 20 41 4e 44 20 41 20 42 52 49 45 46 20 49 44 45 41 .PROGRAM'S.NAME.AND.A.BRIEF.IDEA
5bfa0 20 4f 46 20 57 48 41 54 20 49 54 20 44 4f 45 53 2e 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 .OF.WHAT.IT.DOES.......Copyright
5bfc0 20 28 43 29 20 59 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 54 48 4f 52 0a 0a 20 20 20 20 20 54 .(C).YEAR.NAME.OF.AUTHOR.......T
5bfe0 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f his.program.is.free.software:.yo
5c000 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 u.can.redistribute.it.and/or.mod
5c020 69 66 79 0a 20 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 ify......it.under.the.terms.of.t
5c040 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 he.GNU.General.Public.License.as
5c060 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 .published.by......the.Free.Soft
5c080 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
5c0a0 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 0a 20 20 20 20 20 79 6f 3.of.the.License,.or.(at......yo
5c0c0 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 ur.option).any.later.version....
5c0e0 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 ....This.program.is.distributed.
5c100 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 in.the.hope.that.it.will.be.usef
5c120 75 6c 2c 20 62 75 74 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 ul,.but......WITHOUT.ANY.WARRANT
5c140 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 Y;.without.even.the.implied.warr
5c160 61 6e 74 79 20 6f 66 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 anty.of......MERCHANTABILITY.or.
5c180 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
5c1a0 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c ...See.the.GNU......General.Publ
5c1c0 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 ic.License.for.more.details.....
5c1e0 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f ...You.should.have.received.a.co
5c200 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 py.of.the.GNU.General.Public.Lic
5c220 65 6e 73 65 0a 20 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 ense......along.with.this.progra
5c240 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 m...If.not,.see.<https://www.gnu
5c260 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 41 6c 73 6f 20 61 64 64 20 69 6e .org/licenses/>......Also.add.in
5c280 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 formation.on.how.to.contact.you.
5c2a0 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 0a 6d 61 69 6c 2e 0a 0a 20 by.electronic.and.paper.mail....
5c2c0 20 20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 ..If.the.program.does.terminal.i
5c2e0 6e 74 65 72 61 63 74 69 6f 6e 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f nteraction,.make.it.output.a.sho
5c300 72 74 0a 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 rt.notice.like.this.when.it.star
5c320 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 ts.in.an.interactive.mode:......
5c340 20 50 52 4f 47 52 41 4d 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 59 45 41 52 20 4e 41 4d 45 .PROGRAM.Copyright.(C).YEAR.NAME
5c360 20 4f 46 20 41 55 54 48 4f 52 0a 20 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d .OF.AUTHOR......This.program.com
5c380 65 73 20 77 69 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 es.with.ABSOLUTELY.NO.WARRANTY;.
5c3a0 66 6f 72 20 64 65 74 61 69 6c 73 20 74 79 70 65 20 e2 80 98 73 68 6f 77 20 77 e2 80 99 2e 0a 20 for.details.type....show.w......
5c3c0 20 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 ....This.is.free.software,.and.y
5c3e0 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 ou.are.welcome.to.redistribute.i
5c400 74 0a 20 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b t......under.certain.conditions;
5c420 20 74 79 70 65 20 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a .type....show.c....for.details..
5c440 0a 20 20 20 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 e2 80 ....The.hypothetical.commands...
5c460 98 73 68 6f 77 20 77 e2 80 99 20 61 6e 64 20 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 73 68 6f 75 .show.w....and....show.c....shou
5c480 6c 64 20 73 68 6f 77 20 74 68 65 0a 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 74 73 20 6f 66 ld.show.the.appropriate.parts.of
5c4a0 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 .the.General.Public.License...Of
5c4c0 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d e2 80 99 73 20 63 6f 6d 6d 61 6e .course,.your.program...s.comman
5c4e0 64 73 20 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 20 47 55 49 ds.might.be.different;.for.a.GUI
5c500 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 73 65 20 61 6e 20 e2 80 9c .interface,.you.would.use.an....
5c520 61 62 6f 75 74 20 62 6f 78 e2 80 9d 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 about.box.........You.should.als
5c540 6f 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b o.get.your.employer.(if.you.work
5c560 20 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 .as.a.programmer).or.school,.if.
5c580 61 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 e2 80 9c 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 any,.to.sign.a....copyright.disc
5c5a0 6c 61 69 6d 65 72 e2 80 9d 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 laimer....for.the.program,.if.ne
5c5c0 63 65 73 73 61 72 79 2e 20 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f cessary...For.more.information.o
5c5e0 6e 20 74 68 69 73 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c n.this,.and.how.to.apply.and.fol
5c600 6c 6f 77 0a 74 68 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 low.the.GNU.GPL,.see.<https://ww
5c620 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 54 68 65 20 47 4e w.gnu.org/licenses/>......The.GN
5c640 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f U.General.Public.License.does.no
5c660 74 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 0a 70 72 6f 67 t.permit.incorporating.your.prog
5c680 72 61 6d 20 69 6e 74 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 ram.into.proprietary.programs...
5c6a0 49 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 0a If.your.program.is.a.subroutine.
5c6c0 6c 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 library,.you.may.consider.it.mor
5c6e0 65 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 e.useful.to.permit.linking.propr
5c700 69 65 74 61 72 79 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 6c 69 62 ietary.applications.with.the.lib
5c720 72 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 rary...If.this.is.what.you.want.
5c740 74 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 to.do,.use.the.GNU.Lesser.Genera
5c760 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 l.Public.License.instead.of.this
5c780 20 4c 69 63 65 6e 73 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 0a 70 6c 65 61 73 65 20 72 65 61 .License...But.first,.please.rea
5c7a0 64 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f d.<https://www.gnu.org/licenses/
5c7c0 77 68 79 2d 6e 6f 74 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 why-not-lgpl.html>.....File:.doc
5c7e0 70 67 51 30 37 59 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 2c 20 20 50 72 65 76 pgQ07Y.info,..Node:.Index,..Prev
5c800 3a 20 47 50 4c 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 0a 0a 00 08 :.GPL,..Up:.Top..Index.*****....
5c820 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 21 63 64 72 3a 20 20 20 20 20 20 [index..].*.Menu:..*.!cdr:......
5c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 74 ............................Dest
5c860 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ructive.operations..............
5c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 36 29 0a 2a 20 21 ..................(line..16).*.!
5c8c0 63 6f 6e 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cons:...........................
5c8e0 20 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 ......Destructive.operations....
5c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e ............................(lin
5c940 65 20 20 20 38 29 0a 2a 20 2d 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e...8).*.-->:...................
5c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 ................Threading.macros
5c980 2e 20 20 20 20 28 6c 69 6e 65 20 20 33 35 29 0a 2a 20 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 .....(line..35).*.->:...........
5c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 .........................Threadi
5c9c0 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 3e 3e 3a 20 ng.macros.....(line...9).*.->>:.
5c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ca00 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 32 32 ..Threading.macros.....(line..22
5ca20 29 0a 2a 20 2d 61 6c 6c 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-all?:......................
5ca40 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 ...........Predicates...........
5ca60 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 61 6e 64 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 (line..53).*.-andfn:............
5ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d ....................Function.com
5caa0 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 binators........................
5cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5cae0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 34 29 0a 2a 20 2d 61 6e 6e 6f 74 61 74 65 3a 20 ........(line.184).*.-annotate:.
5cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 ............................Maps
5cb20 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 36 29 0a 2a 20 2d 61 .................(line..86).*.-a
5cb40 6e 79 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ny?:............................
5cb60 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Predicates...........(line.
5cb80 20 34 31 29 0a 2a 20 2d 61 70 70 6c 69 66 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .41).*.-applify:................
5cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f ..............Function.combinato
5cbc0 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rs..............................
5cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5cc00 20 20 28 6c 69 6e 65 20 20 36 33 29 0a 2a 20 2d 61 73 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 ..(line..63).*.-as->:...........
5cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 ......................Threading.
5cc40 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 34 39 29 0a 2a 20 2d 62 75 74 6c 61 73 74 macros.....(line..49).*.-butlast
5cc60 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f :..............................O
5cc80 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 ther.list.operations............
5cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 30 35 29 0a 2a ....................(line.405).*
5cce0 20 2d 63 6c 6f 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-clone:........................
5cd00 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 ........Tree.operations......(li
5cd20 6e 65 20 31 32 33 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 3a 20 20 20 20 20 20 20 ne.123).*.-common-prefix:.......
5cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 .................Reductions.....
5cd60 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 32 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 ......(line.242).*.-common-suffi
5cd80 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 x:........................Reduct
5cda0 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 32 29 0a 2a 20 2d 63 6f 6d ions...........(line.252).*.-com
5cdc0 70 6f 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pose:...........................
5cde0 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 ...Function.combinators.........
5ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 39 .......................(line..49
5ce40 29 0a 2a 20 2d 63 6f 6e 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-concat:....................
5ce60 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 ...........List.to.list.........
5ce80 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 63 6f 6e 73 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 (line..23).*.-cons*:............
5cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f ....................Other.list.o
5cec0 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 perations.......................
5cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5cf00 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 39 29 0a 2a 20 2d 63 6f 6e 73 2d 70 61 69 72 .........(line..19).*.-cons-pair
5cf20 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 ?:...........................Pre
5cf40 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 34 29 0a 2a 20 2d dicates...........(line.154).*.-
5cf60 63 6f 6e 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 const:..........................
5cf80 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 ......Function.combinators......
5cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 ..........................(line.
5cfe0 31 32 38 29 0a 2a 20 2d 63 6f 6e 74 61 69 6e 73 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 128).*.-contains?:..............
5d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 ..............Predicates........
5d020 20 20 20 28 6c 69 6e 65 20 31 30 30 29 0a 2a 20 2d 63 6f 70 79 3a 20 20 20 20 20 20 20 20 20 20 ...(line.100).*.-copy:..........
5d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 .......................Maps.....
5d060 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 31 29 0a 2a 20 2d 63 6f 75 6e 74 3a ............(line.151).*.-count:
5d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d0a0 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 32 29 0a Reductions...........(line.172).
5d0c0 2a 20 2d 63 75 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-cut:.........................
5d0e0 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 .........Function.combinators...
5d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
5d140 6e 65 20 31 34 30 29 0a 2a 20 2d 63 79 63 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.140).*.-cycle:...............
5d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 .................Unfolding......
5d180 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 35 29 0a 2a 20 2d 64 69 66 66 65 72 65 6e 63 65 3a 20 ......(line..55).*.-difference:.
5d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 ..........................Set.op
5d1c0 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 64 69 73 erations.......(line..22).*.-dis
5d1e0 74 69 6e 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tinct:..........................
5d200 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 ...Set.operations.......(line..7
5d220 33 29 0a 2a 20 2d 64 6f 74 69 6d 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3).*.-dotimes:..................
5d240 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 ............Side.effects........
5d260 20 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 2d 64 6f 74 6f 3a 20 20 20 20 20 20 20 20 20 20 20 20 .(line..80).*.-doto:............
5d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d .....................Threading.m
5d2a0 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 39 39 29 0a 2a 20 2d 64 72 6f 70 3a 20 20 20 acros.....(line..99).*.-drop:...
5d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 ..............................Su
5d2e0 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 34 39 29 0a 2a 20 blist.selection....(line.149).*.
5d300 2d 64 72 6f 70 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -drop-last:.....................
5d320 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e .......Sublist.selection....(lin
5d340 65 20 31 36 33 29 0a 2a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 e.163).*.-drop-while:...........
5d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f ................Sublist.selectio
5d380 6e 2e 20 20 20 28 6c 69 6e 65 20 31 39 34 29 0a 2a 20 2d 65 61 63 68 3a 20 20 20 20 20 20 20 20 n....(line.194).*.-each:........
5d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 .........................Side.ef
5d3c0 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 65 61 63 68 fects.........(line...8).*.-each
5d3e0 2d 69 6e 64 65 78 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -indexed:.......................
5d400 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 ..Side.effects.........(line..38
5d420 29 0a 2a 20 2d 65 61 63 68 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-each-r:....................
5d440 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 ...........Side.effects.........
5d460 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 3a 20 20 20 20 20 (line..52).*.-each-r-while:.....
5d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 ....................Side.effects
5d4a0 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 35 29 0a 2a 20 2d 65 61 63 68 2d 77 68 69 6c .........(line..65).*.-each-whil
5d4c0 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 e:...........................Sid
5d4e0 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 34 29 0a 2a 20 2d e.effects.........(line..24).*.-
5d500 65 6c 65 6d 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 elem-index:.....................
5d520 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Indexing.............(line
5d540 20 20 20 39 29 0a 2a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 ...9).*.-elem-indices:..........
5d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 ...............Indexing.........
5d580 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 65 76 65 72 79 3a 20 20 20 20 20 20 20 20 ....(line..23).*.-every:........
5d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 ........................Predicat
5d5c0 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 66 69 66 74 68 es...........(line..23).*.-fifth
5d5e0 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -item:..........................
5d600 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 .Other.list.operations..........
5d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 38 30 29 ......................(line.380)
5d660 0a 2a 20 2d 66 69 6c 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-filter:.....................
5d680 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 ..........Sublist.selection....(
5d6a0 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 line...8).*.-find-index:........
5d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 ...................Indexing.....
5d6e0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 35 29 0a 2a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 ........(line..35).*.-find-indic
5d700 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 es:.........................Inde
5d720 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 33 29 0a 2a 20 2d 66 xing.............(line..73).*.-f
5d740 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ind-last-index:.................
5d760 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Indexing.............(line.
5d780 20 35 34 29 0a 2a 20 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .54).*.-first:..................
5d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 ..............Other.list.operati
5d7c0 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ons.............................
5d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d800 20 20 20 28 6c 69 6e 65 20 33 30 30 29 0a 2a 20 2d 66 69 72 73 74 2d 69 74 65 6d 3a 20 20 20 20 ...(line.300).*.-first-item:....
5d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 .......................Other.lis
5d840 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.operations....................
5d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d880 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 38 29 0a 2a 20 2d 66 69 78 3a 20 20 ............(line.328).*.-fix:..
5d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d8c0 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 Other.list.operations...........
5d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 34 35 29 0a .....................(line.445).
5d920 2a 20 2d 66 69 78 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-fixfn:.......................
5d940 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 .........Function.combinators...
5d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
5d9a0 6e 65 20 32 32 34 29 0a 2a 20 2d 66 6c 61 74 74 65 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.224).*.-flatten:.............
5d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 .................List.to.list...
5d9e0 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 33 29 0a 2a 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 20 20 ......(line..43).*.-flatten-n:..
5da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 ..........................List.t
5da20 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 35 29 0a 2a 20 2d 66 6c 69 o.list.........(line..65).*.-fli
5da40 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p:..............................
5da60 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 ...Function.combinators.........
5da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 35 .......................(line..95
5dac0 29 0a 2a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-fourth-item:...............
5dae0 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 ...........Other.list.operations
5db00 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5db40 28 6c 69 6e 65 20 33 36 37 29 0a 2a 20 2d 66 72 65 71 75 65 6e 63 69 65 73 3a 20 20 20 20 20 20 (line.367).*.-frequencies:......
5db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 ....................Reductions..
5db80 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 30 29 0a 2a 20 2d 67 72 61 64 65 2d 64 6f 77 .........(line.310).*.-grade-dow
5dba0 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 n:...........................Ind
5dbc0 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 33 29 0a 2a 20 2d exing.............(line.103).*.-
5dbe0 67 72 61 64 65 2d 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 grade-up:.......................
5dc00 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Indexing.............(line
5dc20 20 20 39 33 29 0a 2a 20 2d 67 72 6f 75 70 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..93).*.-group-by:..............
5dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 ...............Partitioning.....
5dc60 20 20 20 20 28 6c 69 6e 65 20 32 30 35 29 0a 2a 20 2d 69 66 2d 6c 65 74 3a 20 20 20 20 20 20 20 ....(line.205).*.-if-let:.......
5dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e ........................Binding.
5dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 2d 69 66 2d 6c 65 .............(line..34).*.-if-le
5dcc0 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t*:.............................
5dce0 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 35 29 .Binding..............(line..45)
5dd00 0a 2a 20 2d 69 6e 69 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-inits:......................
5dd20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Reductions...........(
5dd40 6c 69 6e 65 20 32 32 32 29 0a 2a 20 2d 69 6e 73 65 72 74 2d 61 74 3a 20 20 20 20 20 20 20 20 20 line.222).*.-insert-at:.........
5dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e ...................List.to.list.
5dd80 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 39 29 0a 2a 20 2d 69 6e 74 65 72 6c 65 61 76 65 ........(line.119).*.-interleave
5dda0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 :...........................Othe
5ddc0 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.list.operations...............
5dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 36 29 0a 2a 20 2d 69 .................(line..56).*.-i
5de20 6e 74 65 72 70 6f 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nterpose:.......................
5de40 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 .....Other.list.operations......
5de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 ..........................(line.
5dea0 20 34 36 29 0a 2a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 .46).*.-intersection:...........
5dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 ..............Set.operations....
5dee0 20 20 20 28 6c 69 6e 65 20 20 33 36 29 0a 2a 20 2d 69 6f 74 61 3a 20 20 20 20 20 20 20 20 20 20 ...(line..36).*.-iota:..........
5df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 .......................Other.lis
5df20 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.operations....................
5df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5df60 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 37 29 0a 2a 20 2d 69 73 2d 69 6e 66 ............(line..67).*.-is-inf
5df80 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ix?:............................
5dfa0 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 30 29 0a Predicates...........(line.140).
5dfc0 2a 20 2d 69 73 2d 70 72 65 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-is-prefix?:..................
5dfe0 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Predicates...........(l
5e000 69 6e 65 20 31 31 36 29 0a 2a 20 2d 69 73 2d 73 75 66 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 ine.116).*.-is-suffix?:.........
5e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 ..................Predicates....
5e040 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 38 29 0a 2a 20 2d 69 74 65 72 61 74 65 3a 20 20 20 .......(line.128).*.-iterate:...
5e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c ...........................Unfol
5e080 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 69 74 ding............(line...9).*.-it
5e0a0 65 72 61 74 65 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eratefn:........................
5e0c0 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 ....Function.combinators........
5e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 ........................(line.20
5e120 31 29 0a 2a 20 2d 6a 75 78 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1).*.-juxt:.....................
5e140 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 ............Function.combinators
5e160 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e1a0 28 6c 69 6e 65 20 20 33 37 29 0a 2a 20 2d 6b 65 65 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 (line..37).*.-keep:.............
5e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 ....................List.to.list
5e1e0 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 6c 61 6d 62 64 61 3a 20 20 .........(line...8).*.-lambda:..
5e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e .............................Bin
5e220 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 37 29 0a 2a 20 2d ding..............(line.247).*.-
5e240 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 last:...........................
5e260 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 ......Other.list.operations.....
5e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ...........................(line
5e2c0 20 33 31 38 29 0a 2a 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .318).*.-last-item:.............
5e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 ...............Other.list.operat
5e300 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ions............................
5e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e340 20 20 20 20 28 6c 69 6e 65 20 33 39 33 29 0a 2a 20 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 ....(line.393).*.-let:..........
5e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e ........................Binding.
5e380 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 31 29 0a 2a 20 2d 6c 65 74 2a 3a .............(line..61).*.-let*:
5e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e3c0 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 37 29 .Binding..............(line.227)
5e3e0 0a 2a 20 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-list:.......................
5e400 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e ..........Other.list.operations.
5e420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
5e460 6c 69 6e 65 20 34 32 38 29 0a 2a 20 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line.428).*.-map:...............
5e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 ...................Maps.........
5e4a0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 30 29 0a 2a 20 2d 6d 61 70 2d 66 69 72 73 74 3a ........(line..10).*.-map-first:
5e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 ............................Maps
5e4e0 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 2d 6d .................(line..38).*.-m
5e500 61 70 2d 69 6e 64 65 78 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ap-indexed:.....................
5e520 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Maps.................(line.
5e540 20 36 38 29 0a 2a 20 2d 6d 61 70 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .68).*.-map-last:...............
5e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............Maps..............
5e580 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 6d 61 70 2d 77 68 65 6e 3a 20 20 20 20 20 20 ...(line..53).*.-map-when:......
5e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 .......................Maps.....
5e5c0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 6d 61 70 63 61 74 ............(line..22).*.-mapcat
5e5e0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :...............................
5e600 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 30 29 0a Maps.................(line.140).
5e620 2a 20 2d 6d 61 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-max:.........................
5e640 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Reductions...........(l
5e660 69 6e 65 20 32 38 36 29 0a 2a 20 2d 6d 61 78 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ine.286).*.-max-by:.............
5e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 ..................Reductions....
5e6a0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 36 29 0a 2a 20 2d 6d 69 6e 3a 20 20 20 20 20 20 20 .......(line.296).*.-min:.......
5e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 ...........................Reduc
5e6e0 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 32 29 0a 2a 20 2d 6d 69 tions...........(line.262).*.-mi
5e700 6e 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-by:...........................
5e720 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 ....Reductions...........(line.2
5e740 37 32 29 0a 2a 20 2d 6e 6f 6e 2d 6e 69 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72).*.-non-nil:.................
5e760 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 .............Sublist.selection..
5e780 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 2d 6e 6f 6e 65 3f 3a 20 20 20 20 20 20 20 20 20 20 ..(line..95).*.-none?:..........
5e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 ......................Predicates
5e7c0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 33 29 0a 2a 20 2d 6e 6f 74 3a 20 20 20 ...........(line..73).*.-not:...
5e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 ...............................F
5e800 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 unction.combinators.............
5e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 33 29 0a 2a 20 ...................(line.153).*.
5e860 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -on:............................
5e880 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 .......Function.combinators.....
5e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ...........................(line
5e8e0 20 20 37 35 29 0a 2a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 ..75).*.-only-some?:............
5e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 ...............Predicates.......
5e920 20 20 20 20 28 6c 69 6e 65 20 20 38 35 29 0a 2a 20 2d 6f 72 66 6e 3a 20 20 20 20 20 20 20 20 20 ....(line..85).*.-orfn:.........
5e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
5e960 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
5e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e9a0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 37 29 0a 2a 20 2d 70 61 64 3a 20 20 ............(line.167).*.-pad:..
5e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5e9e0 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 Other.list.operations...........
5ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 31 29 0a .....................(line.241).
5ea40 2a 20 2d 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-partial:.....................
5ea60 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 .........Function.combinators...
5ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 .............................(li
5eac0 6e 65 20 20 20 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 ne...8).*.-partition:...........
5eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 .................Partitioning...
5eb00 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 30 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 ......(line..90).*.-partition-af
5eb20 74 65 72 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 ter-item:.................Partit
5eb40 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 35 29 0a 2a 20 2d 70 61 72 ioning.........(line.195).*.-par
5eb60 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tition-after-pred:..............
5eb80 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 ...Partitioning.........(line.16
5eba0 32 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 2).*.-partition-all:............
5ebc0 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 ............Partitioning........
5ebe0 20 28 6c 69 6e 65 20 31 30 32 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d .(line.102).*.-partition-all-in-
5ec00 73 74 65 70 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e steps:...............Partitionin
5ec20 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 36 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f g.........(line.126).*.-partitio
5ec40 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 n-before-item:................Pa
5ec60 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 35 29 0a 2a 20 rtitioning.........(line.185).*.
5ec80 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 3a 20 20 20 20 20 20 20 20 20 -partition-before-pred:.........
5eca0 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e .......Partitioning.........(lin
5ecc0 65 20 31 37 34 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 20 20 20 20 20 20 20 20 20 e.174).*.-partition-by:.........
5ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 ................Partitioning....
5ed00 20 20 20 20 20 28 6c 69 6e 65 20 31 33 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d .....(line.138).*.-partition-by-
5ed20 68 65 61 64 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 header:..................Partiti
5ed40 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 39 29 0a 2a 20 2d 70 61 72 74 oning.........(line.149).*.-part
5ed60 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ition-in-steps:.................
5ed80 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 33 ..Partitioning.........(line.113
5eda0 29 0a 2a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-permutations:..............
5edc0 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 ...........Set.operations.......
5ede0 28 6c 69 6e 65 20 20 36 30 29 0a 2a 20 2d 70 6f 77 65 72 73 65 74 3a 20 20 20 20 20 20 20 20 20 (line..60).*.-powerset:.........
5ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f ....................Set.operatio
5ee20 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 2d 70 72 6f 64 66 6e 3a 20 20 ns.......(line..50).*.-prodfn:..
5ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e .............................Fun
5ee60 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ction.combinators...............
5ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 38 29 0a 2a 20 2d 70 .................(line.258).*.-p
5eec0 72 6f 64 75 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roduct:.........................
5eee0 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Reductions...........(line.
5ef00 32 30 31 29 0a 2a 20 2d 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 201).*.-reduce:.................
5ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 ..............Reductions........
5ef40 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 20 20 20 ...(line..53).*.-reduce-from:...
5ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e .......................Reduction
5ef80 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 72 65 64 75 63 65 s...........(line...8).*.-reduce
5efa0 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -r:.............................
5efc0 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 32 29 0a Reductions...........(line..72).
5efe0 2a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-reduce-r-from:...............
5f000 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Reductions...........(l
5f020 69 6e 65 20 20 32 36 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 20 20 20 20 20 20 20 20 20 ine..26).*.-reductions:.........
5f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 ..................Reductions....
5f060 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 36 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d .......(line.136).*.-reductions-
5f080 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 from:......................Reduc
5f0a0 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 30 29 0a 2a 20 2d 72 65 tions...........(line.100).*.-re
5f0c0 64 75 63 74 69 6f 6e 73 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ductions-r:.....................
5f0e0 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Reductions...........(line.1
5f100 35 34 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 54).*.-reductions-r-from:.......
5f120 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 .............Reductions.........
5f140 20 20 28 6c 69 6e 65 20 31 31 38 29 0a 2a 20 2d 72 65 6d 6f 76 65 3a 20 20 20 20 20 20 20 20 20 ..(line.118).*.-remove:.........
5f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 ......................Sublist.se
5f180 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 32 36 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d lection....(line..26).*.-remove-
5f1a0 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c at:............................L
5f1c0 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 36 29 0a 2a ist.to.list.........(line.156).*
5f1e0 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 .-remove-at-indices:............
5f200 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 ........List.to.list.........(li
5f220 6e 65 20 31 37 35 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 ne.175).*.-remove-first:........
5f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 .................Sublist.selecti
5f260 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a on....(line..44).*.-remove-item:
5f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 ..........................Sublis
5f2a0 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 2d 72 65 6d t.selection....(line..84).*.-rem
5f2c0 6f 76 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ove-last:.......................
5f2e0 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 36 ...Sublist.selection....(line..6
5f300 35 29 0a 2a 20 2d 72 65 70 65 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5).*.-repeat:...................
5f320 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 ............Unfolding...........
5f340 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 2d 72 65 70 6c 61 63 65 3a 20 20 20 20 20 20 20 20 20 .(line..44).*.-replace:.........
5f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 .....................List.to.lis
5f380 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 37 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d t.........(line..77).*.-replace-
5f3a0 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 at:...........................Li
5f3c0 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 30 29 0a 2a 20 st.to.list.........(line.130).*.
5f3e0 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -replace-first:.................
5f400 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e .......List.to.list.........(lin
5f420 65 20 20 39 31 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 e..91).*.-replace-last:.........
5f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 ................List.to.list....
5f460 20 20 20 20 20 28 6c 69 6e 65 20 31 30 35 29 0a 2a 20 2d 72 6f 74 61 74 65 3a 20 20 20 20 20 20 .....(line.105).*.-rotate:......
5f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c .........................Other.l
5f4a0 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.operations..................
5f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 72 6f 74 61 ..............(line...8).*.-rota
5f500 74 65 2d 61 72 67 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te-args:........................
5f520 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 ..Function.combinators..........
5f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 32 29 ......................(line.112)
5f580 0a 2a 20 2d 72 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-rpartial:...................
5f5a0 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a ..........Function.combinators..
5f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ..............................(l
5f600 69 6e 65 20 20 32 32 29 0a 2a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 3a 20 20 20 20 ine..22).*.-running-product:....
5f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 ..................Reductions....
5f640 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 31 29 0a 2a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d .......(line.211).*.-running-sum
5f660 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 :..........................Reduc
5f680 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 30 29 0a 2a 20 2d 73 61 tions...........(line.190).*.-sa
5f6a0 6d 65 2d 69 74 65 6d 73 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me-items?:......................
5f6c0 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Set.operations.......(line..
5f6e0 38 38 29 0a 2a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 88).*.-second-item:.............
5f700 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f .............Other.list.operatio
5f720 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns..............................
5f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f760 20 20 28 6c 69 6e 65 20 33 34 31 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 ..(line.341).*.-select-by-indice
5f780 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 s:....................Sublist.se
5f7a0 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 31 31 29 0a 2a 20 2d 73 65 6c 65 63 74 2d lection....(line.211).*.-select-
5f7c0 63 6f 6c 75 6d 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 column:........................S
5f7e0 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 34 31 29 0a 2a ublist.selection....(line.241).*
5f800 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-select-columns:...............
5f820 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 ........Sublist.selection....(li
5f840 6e 65 20 32 32 32 29 0a 2a 20 2d 73 65 70 61 72 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 ne.222).*.-separate:............
5f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 .................Partitioning...
5f880 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 35 29 0a 2a 20 2d 73 65 74 71 3a 20 20 20 20 20 20 20 ......(line..75).*.-setq:.......
5f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e ..........................Bindin
5f8c0 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 37 30 29 0a 2a 20 2d 73 6c 69 g..............(line.270).*.-sli
5f8e0 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce:.............................
5f900 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 30 ...Sublist.selection....(line.10
5f920 35 29 0a 2a 20 2d 73 6e 6f 63 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5).*.-snoc:.....................
5f940 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e ............Other.list.operation
5f960 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s...............................
5f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f9a0 20 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 2d 73 6f 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 .(line..32).*.-some:............
5f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e .....................Predicates.
5f9e0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 73 6f 6d 65 2d 2d 3e 3a ..........(line...8).*.-some-->:
5fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 ..............................Th
5fa20 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 38 36 29 0a 2a 20 reading.macros.....(line..86).*.
5fa40 2d 73 6f 6d 65 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -some->:........................
5fa60 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e .......Threading.macros.....(lin
5fa80 65 20 20 36 32 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e..62).*.-some->>:..............
5faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 ................Threading.macros
5fac0 2e 20 20 20 20 28 6c 69 6e 65 20 20 37 34 29 0a 2a 20 2d 73 6f 72 74 3a 20 20 20 20 20 20 20 20 .....(line..74).*.-sort:........
5fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c .........................Other.l
5fb00 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.operations..................
5fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 31 35 29 0a 2a 20 2d 73 70 6c 69 ..............(line.415).*.-spli
5fb60 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce:.............................
5fb80 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 32 ..Maps.................(line.102
5fba0 29 0a 2a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-splice-list:...............
5fbc0 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........Maps.................
5fbe0 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 2d 73 70 6c 69 74 2d 61 74 3a 20 20 20 20 20 20 20 20 20 (line.127).*.-split-at:.........
5fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 ....................Partitioning
5fc20 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 73 70 6c 69 74 2d 6f 6e 3a .........(line...8).*.-split-on:
5fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 .............................Par
5fc60 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 30 29 0a 2a 20 2d titioning.........(line..40).*.-
5fc80 73 70 6c 69 74 2d 77 68 65 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 split-when:.....................
5fca0 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Partitioning.........(line
5fcc0 20 20 35 38 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 69 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 ..58).*.-split-with:............
5fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 ...............Partitioning.....
5fd00 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 73 75 6d 3a 20 20 20 20 20 20 20 20 20 20 ....(line..23).*.-sum:..........
5fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f ........................Reductio
5fd40 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 30 29 0a 2a 20 2d 74 61 62 6c 65 ns...........(line.180).*.-table
5fd60 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :...............................
5fd80 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 .Other.list.operations..........
5fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 36 29 ......................(line.256)
5fde0 0a 2a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-table-flat:.................
5fe00 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e ..........Other.list.operations.
5fe20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
5fe60 6c 69 6e 65 20 32 37 35 29 0a 2a 20 2d 74 61 69 6c 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 line.275).*.-tails:.............
5fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 ...................Reductions...
5fea0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 33 32 29 0a 2a 20 2d 74 61 6b 65 3a 20 20 20 20 20 ........(line.232).*.-take:.....
5fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c ............................Subl
5fee0 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 32 31 29 0a 2a 20 2d 74 ist.selection....(line.121).*.-t
5ff00 61 6b 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ake-last:.......................
5ff20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 .....Sublist.selection....(line.
5ff40 31 33 35 29 0a 2a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 135).*.-take-while:.............
5ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e ..............Sublist.selection.
5ff80 20 20 20 28 6c 69 6e 65 20 31 37 37 29 0a 2a 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 20 20 20 20 ...(line.177).*.-third-item:....
5ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 .......................Other.lis
5ffc0 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.operations....................
5ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60000 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 34 29 0a 2a 20 2d 74 72 65 65 2d 6d ............(line.354).*.-tree-m
60020 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ap:.............................
60040 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a Tree.operations......(line..28).
60060 2a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-tree-map-nodes:..............
60080 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c .........Tree.operations......(l
600a0 69 6e 65 20 20 33 39 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 3a 20 20 20 20 20 ine..39).*.-tree-mapreduce:.....
600c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e ..................Tree.operation
600e0 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 38 35 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 s......(line..85).*.-tree-mapred
60100 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 uce-from:..................Tree.
60120 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 31 30 34 29 0a 2a 20 2d 74 72 operations......(line.104).*.-tr
60140 65 65 2d 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ee-reduce:......................
60160 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Tree.operations......(line..
60180 35 33 29 0a 2a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 53).*.-tree-reduce-from:........
601a0 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 .............Tree.operations....
601c0 20 20 28 6c 69 6e 65 20 20 37 30 29 0a 2a 20 2d 74 72 65 65 2d 73 65 71 3a 20 20 20 20 20 20 20 ..(line..70).*.-tree-seq:.......
601e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 ......................Tree.opera
60200 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 75 6e 66 6f 6c 64 3a tions......(line...8).*.-unfold:
60220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 ...............................U
60240 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 35 29 0a 2a nfolding............(line..25).*
60260 20 2d 75 6e 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-union:........................
60280 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 ........Set.operations.......(li
602a0 6e 65 20 20 20 38 29 0a 2a 20 2d 75 6e 7a 69 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne...8).*.-unzip:...............
602c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 .................Other.list.oper
602e0 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ations..........................
60300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60320 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 35 29 0a 2a 20 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 3a ......(line.215).*.-unzip-lists:
60340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 ..........................Other.
60360 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 list.operations.................
60380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
603a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 36 29 0a 2a 20 2d 75 70 64 ...............(line.196).*.-upd
603c0 61 74 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ate-at:.........................
603e0 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 ...List.to.list.........(line.14
60400 32 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2).*.-when-let:.................
60420 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 ............Binding.............
60440 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 .(line...9).*.-when-let*:.......
60460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 .....................Binding....
60480 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 31 29 0a 2a 20 2d 7a 69 70 3a 20 20 20 20 ..........(line..21).*.-zip:....
604a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 ..............................Ot
604c0 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 her.list.operations.............
604e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 30 29 0a 2a 20 ...................(line.150).*.
60520 2d 7a 69 70 2d 66 69 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -zip-fill:......................
60540 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 .......Other.list.operations....
60560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e ............................(lin
605a0 65 20 31 37 36 29 0a 2a 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 e.176).*.-zip-lists:............
605c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 ................Other.list.opera
605e0 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tions...........................
60600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60620 20 20 20 20 20 28 6c 69 6e 65 20 31 31 34 29 0a 2a 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c .....(line.114).*.-zip-lists-fil
60640 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c l:.......................Other.l
60660 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist.operations..................
60680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
606a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 35 29 0a 2a 20 2d 7a 69 70 2d ..............(line.135).*.-zip-
606c0 70 61 69 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pair:...........................
606e0 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 ..Other.list.operations.........
60700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 38 .......................(line..98
60740 29 0a 2a 20 2d 7a 69 70 2d 77 69 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-zip-with:..................
60760 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 ...........Other.list.operations
60780 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
607a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
607c0 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 3a 20 (line..80).*.dash-fontify-mode:.
607e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f ....................Fontificatio
60800 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 n.of.special.variables..........
60820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 36 29 ......................(line...6)
60860 0a 2a 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 3a 20 20 20 .*.dash-register-info-lookup:...
60880 20 20 20 20 20 20 20 20 20 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2e 20 20 28 ..........Info.symbol.lookup...(
608a0 6c 69 6e 65 20 20 20 36 29 0a 2a 20 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d line...6).*.global-dash-fontify-
608c0 6d 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e mode:..............Fontification
608e0 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 .of.special.variables...........
60900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
60920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 32 29 0a .....................(line..12).
60940 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 37 34 37 0a 4e 6f 64 ....Tag.Table:.Node:.Top.747.Nod
60960 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 7f 32 34 30 37 0a 4e 6f 64 65 3a 20 55 73 69 6e 67 e:.Installation.2407.Node:.Using
60980 20 69 6e 20 61 20 70 61 63 6b 61 67 65 7f 33 31 37 34 0a 4e 6f 64 65 3a 20 46 6f 6e 74 69 66 69 .in.a.package.3174.Node:.Fontifi
609a0 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 7f 33 35 32 34 cation.of.special.variables.3524
609c0 0a 4e 6f 64 65 3a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 7f 34 33 31 39 0a 4e .Node:.Info.symbol.lookup.4319.N
609e0 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 7f 34 39 30 37 0a 4e 6f 64 65 3a 20 4d 61 70 73 7f 36 ode:.Functions.4907.Node:.Maps.6
60a00 33 39 36 0a 52 65 66 3a 20 2d 6d 61 70 7f 36 36 39 38 0a 52 65 66 3a 20 2d 6d 61 70 2d 77 68 65 396.Ref:.-map.6698.Ref:.-map-whe
60a20 6e 7f 37 30 37 31 0a 52 65 66 3a 20 2d 6d 61 70 2d 66 69 72 73 74 7f 37 36 34 35 0a 52 65 66 3a n.7071.Ref:.-map-first.7645.Ref:
60a40 20 2d 6d 61 70 2d 6c 61 73 74 7f 38 32 34 30 0a 52 65 66 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 .-map-last.8240.Ref:.-map-indexe
60a60 64 7f 38 38 33 30 0a 52 65 66 3a 20 2d 61 6e 6e 6f 74 61 74 65 7f 39 35 31 36 0a 52 65 66 3a 20 d.8830.Ref:.-annotate.9516.Ref:.
60a80 2d 73 70 6c 69 63 65 7f 31 30 31 32 30 0a 52 65 66 3a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7f -splice.10120.Ref:.-splice-list.
60aa0 31 31 31 39 35 0a 52 65 66 3a 20 2d 6d 61 70 63 61 74 7f 31 31 36 35 34 0a 52 65 66 3a 20 2d 63 11195.Ref:.-mapcat.11654.Ref:.-c
60ac0 6f 70 79 7f 31 32 30 32 37 0a 4e 6f 64 65 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f opy.12027.Node:.Sublist.selectio
60ae0 6e 7f 31 32 32 39 33 0a 52 65 66 3a 20 2d 66 69 6c 74 65 72 7f 31 32 34 39 31 0a 52 65 66 3a 20 n.12293.Ref:.-filter.12491.Ref:.
60b00 2d 72 65 6d 6f 76 65 7f 31 33 30 34 34 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 -remove.13044.Ref:.-remove-first
60b20 7f 31 33 35 39 33 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7f 31 34 34 34 31 0a 52 .13593.Ref:.-remove-last.14441.R
60b40 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7f 31 35 31 37 31 0a 52 65 66 3a 20 2d 6e 6f 6e ef:.-remove-item.15171.Ref:.-non
60b60 2d 6e 69 6c 7f 31 35 35 37 31 0a 52 65 66 3a 20 2d 73 6c 69 63 65 7f 31 35 38 35 33 0a 52 65 66 -nil.15571.Ref:.-slice.15853.Ref
60b80 3a 20 2d 74 61 6b 65 7f 31 36 33 38 32 0a 52 65 66 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 7f 31 36 :.-take.16382.Ref:.-take-last.16
60ba0 38 30 30 0a 52 65 66 3a 20 2d 64 72 6f 70 7f 31 37 32 33 37 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 800.Ref:.-drop.17237.Ref:.-drop-
60bc0 6c 61 73 74 7f 31 37 36 38 34 0a 52 65 66 3a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 7f 31 38 31 31 last.17684.Ref:.-take-while.1811
60be0 36 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 7f 31 38 37 34 33 0a 52 65 66 3a 20 2d 73 6.Ref:.-drop-while.18743.Ref:.-s
60c00 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7f 31 39 33 37 36 0a 52 65 66 3a 20 2d 73 65 6c elect-by-indices.19376.Ref:.-sel
60c20 65 63 74 2d 63 6f 6c 75 6d 6e 73 7f 31 39 38 38 37 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 63 ect-columns.19887.Ref:.-select-c
60c40 6f 6c 75 6d 6e 7f 32 30 35 39 30 0a 4e 6f 64 65 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 7f 32 olumn.20590.Node:.List.to.list.2
60c60 31 30 35 33 0a 52 65 66 3a 20 2d 6b 65 65 70 7f 32 31 32 35 30 0a 52 65 66 3a 20 2d 63 6f 6e 63 1053.Ref:.-keep.21250.Ref:.-conc
60c80 61 74 7f 32 31 38 32 36 0a 52 65 66 3a 20 2d 66 6c 61 74 74 65 6e 7f 32 32 36 30 36 0a 52 65 66 at.21826.Ref:.-flatten.22606.Ref
60ca0 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 7f 32 33 33 36 38 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 :.-flatten-n.23368.Ref:.-replace
60cc0 7f 32 33 37 35 32 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7f 32 34 32 31 33 .23752.Ref:.-replace-first.24213
60ce0 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7f 32 34 37 30 38 0a 52 65 66 3a 20 2d .Ref:.-replace-last.24708.Ref:.-
60d00 69 6e 73 65 72 74 2d 61 74 7f 32 35 31 39 36 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 61 74 insert-at.25196.Ref:.-replace-at
60d20 7f 32 35 35 32 31 0a 52 65 66 3a 20 2d 75 70 64 61 74 65 2d 61 74 7f 32 35 39 30 38 0a 52 65 66 .25521.Ref:.-update-at.25908.Ref
60d40 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 7f 32 36 34 34 39 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d :.-remove-at.26449.Ref:.-remove-
60d60 61 74 2d 69 6e 64 69 63 65 73 7f 32 37 30 37 36 0a 4e 6f 64 65 3a 20 52 65 64 75 63 74 69 6f 6e at-indices.27076.Node:.Reduction
60d80 73 7f 32 37 37 36 36 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7f 32 37 39 36 37 0a s.27766.Ref:.-reduce-from.27967.
60da0 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7f 32 38 36 39 31 0a 52 65 66 3a 20 2d Ref:.-reduce-r-from.28691.Ref:.-
60dc0 72 65 64 75 63 65 7f 32 39 39 35 34 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 7f 33 30 37 30 reduce.29954.Ref:.-reduce-r.3070
60de0 35 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 7f 33 31 39 38 33 0a 52 65 5.Ref:.-reductions-from.31983.Re
60e00 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7f 33 32 37 38 39 0a 52 65 66 3a f:.-reductions-r-from.32789.Ref:
60e20 20 2d 72 65 64 75 63 74 69 6f 6e 73 7f 33 33 36 31 39 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 .-reductions.33619.Ref:.-reducti
60e40 6f 6e 73 2d 72 7f 33 34 33 33 30 0a 52 65 66 3a 20 2d 63 6f 75 6e 74 7f 33 35 30 37 35 0a 52 65 ons-r.34330.Ref:.-count.35075.Re
60e60 66 3a 20 2d 73 75 6d 7f 33 35 33 30 35 0a 52 65 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 7f f:.-sum.35305.Ref:.-running-sum.
60e80 33 35 34 39 33 0a 52 65 66 3a 20 2d 70 72 6f 64 75 63 74 7f 33 35 38 31 34 0a 52 65 66 3a 20 2d 35493.Ref:.-product.35814.Ref:.-
60ea0 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7f 33 36 30 32 32 0a 52 65 66 3a 20 2d 69 6e 69 74 running-product.36022.Ref:.-init
60ec0 73 7f 33 36 33 36 33 0a 52 65 66 3a 20 2d 74 61 69 6c 73 7f 33 36 36 30 38 0a 52 65 66 3a 20 2d s.36363.Ref:.-tails.36608.Ref:.-
60ee0 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7f 33 36 38 35 33 0a 52 65 66 3a 20 2d 63 6f 6d 6d 6f 6e common-prefix.36853.Ref:.-common
60f00 2d 73 75 66 66 69 78 7f 33 37 31 34 37 0a 52 65 66 3a 20 2d 6d 69 6e 7f 33 37 34 34 31 0a 52 65 -suffix.37147.Ref:.-min.37441.Re
60f20 66 3a 20 2d 6d 69 6e 2d 62 79 7f 33 37 36 36 37 0a 52 65 66 3a 20 2d 6d 61 78 7f 33 38 31 38 38 f:.-min-by.37667.Ref:.-max.38188
60f40 0a 52 65 66 3a 20 2d 6d 61 78 2d 62 79 7f 33 38 34 31 33 0a 52 65 66 3a 20 2d 66 72 65 71 75 65 .Ref:.-max-by.38413.Ref:.-freque
60f60 6e 63 69 65 73 7f 33 38 39 33 39 0a 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 7f 33 39 35 35 ncies.38939.Node:.Unfolding.3955
60f80 34 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 7f 33 39 38 30 30 0a 52 65 66 3a 20 2d 75 6e 66 6f 4.Ref:.-iterate.39800.Ref:.-unfo
60fa0 6c 64 7f 34 30 32 34 37 0a 52 65 66 3a 20 2d 72 65 70 65 61 74 7f 34 31 30 35 32 0a 52 65 66 3a ld.40247.Ref:.-repeat.41052.Ref:
60fc0 20 2d 63 79 63 6c 65 7f 34 31 33 33 36 0a 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 65 73 7f 34 .-cycle.41336.Node:.Predicates.4
60fe0 31 37 33 33 0a 52 65 66 3a 20 2d 73 6f 6d 65 7f 34 31 39 31 35 0a 52 65 66 3a 20 2d 65 76 65 72 1733.Ref:.-some.41915.Ref:.-ever
61000 79 7f 34 32 33 34 34 0a 52 65 66 3a 20 2d 61 6e 79 3f 7f 34 33 30 35 38 0a 52 65 66 3a 20 2d 61 y.42344.Ref:.-any?.43058.Ref:.-a
61020 6c 6c 3f 7f 34 33 34 30 37 0a 52 65 66 3a 20 2d 6e 6f 6e 65 3f 7f 34 34 31 34 39 0a 52 65 66 3a ll?.43407.Ref:.-none?.44149.Ref:
61040 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7f 34 34 34 36 39 0a 52 65 66 3a 20 2d 63 6f 6e 74 61 69 6e .-only-some?.44469.Ref:.-contain
61060 73 3f 7f 34 35 30 31 34 0a 52 65 66 3a 20 2d 69 73 2d 70 72 65 66 69 78 3f 7f 34 35 35 32 30 0a s?.45014.Ref:.-is-prefix?.45520.
61080 52 65 66 3a 20 2d 69 73 2d 73 75 66 66 69 78 3f 7f 34 35 38 35 32 0a 52 65 66 3a 20 2d 69 73 2d Ref:.-is-suffix?.45852.Ref:.-is-
610a0 69 6e 66 69 78 3f 7f 34 36 31 38 34 0a 52 65 66 3a 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 7f 34 36 infix?.46184.Ref:.-cons-pair?.46
610c0 35 34 34 0a 4e 6f 64 65 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 7f 34 36 38 37 35 0a 52 65 66 544.Node:.Partitioning.46875.Ref
610e0 3a 20 2d 73 70 6c 69 74 2d 61 74 7f 34 37 30 36 38 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 77 69 :.-split-at.47068.Ref:.-split-wi
61100 74 68 7f 34 37 37 33 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 6f 6e 7f 34 38 33 37 32 0a 52 65 th.47732.Ref:.-split-on.48372.Re
61120 66 3a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 7f 34 39 30 34 33 0a 52 65 66 3a 20 2d 73 65 70 61 72 f:.-split-when.49043.Ref:.-separ
61140 61 74 65 7f 34 39 36 38 36 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 7f 35 30 32 32 30 0a ate.49686.Ref:.-partition.50220.
61160 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7f 35 30 36 36 39 0a 52 65 66 3a 20 2d Ref:.-partition-all.50669.Ref:.-
61180 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7f 35 31 30 39 34 0a 52 65 66 3a 20 2d 70 partition-in-steps.51094.Ref:.-p
611a0 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 7f 35 31 36 34 30 0a 52 65 66 3a artition-all-in-steps.51640.Ref:
611c0 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7f 35 32 31 35 34 0a 52 65 66 3a 20 2d 70 61 72 74 69 .-partition-by.52154.Ref:.-parti
611e0 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7f 35 32 35 33 32 0a 52 65 66 3a 20 2d 70 61 72 74 69 tion-by-header.52532.Ref:.-parti
61200 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7f 35 33 31 33 33 0a 52 65 66 3a 20 2d 70 61 72 74 tion-after-pred.53133.Ref:.-part
61220 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 7f 35 33 35 38 36 0a 52 65 66 3a 20 2d 70 61 ition-before-pred.53586.Ref:.-pa
61240 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7f 35 33 39 37 31 0a 52 65 66 3a 20 2d rtition-before-item.53971.Ref:.-
61260 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 7f 35 34 32 37 38 0a 52 65 66 3a 20 partition-after-item.54278.Ref:.
61280 2d 67 72 6f 75 70 2d 62 79 7f 35 34 35 38 30 0a 4e 6f 64 65 3a 20 49 6e 64 65 78 69 6e 67 7f 35 -group-by.54580.Node:.Indexing.5
612a0 35 30 31 33 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 7f 35 35 32 32 30 0a 52 65 66 3a 5013.Ref:.-elem-index.55220.Ref:
612c0 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 7f 35 35 37 30 37 0a 52 65 66 3a 20 2d 66 69 6e 64 2d .-elem-indices.55707.Ref:.-find-
612e0 69 6e 64 65 78 7f 35 36 31 36 36 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 index.56166.Ref:.-find-last-inde
61300 78 7f 35 36 38 33 35 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7f 35 37 34 38 36 x.56835.Ref:.-find-indices.57486
61320 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 75 70 7f 35 38 32 34 38 0a 52 65 66 3a 20 2d 67 72 61 64 .Ref:.-grade-up.58248.Ref:.-grad
61340 65 2d 64 6f 77 6e 7f 35 38 36 35 35 0a 4e 6f 64 65 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e e-down.58655.Node:.Set.operation
61360 73 7f 35 39 30 36 39 0a 52 65 66 3a 20 2d 75 6e 69 6f 6e 7f 35 39 32 35 37 0a 52 65 66 3a 20 2d s.59069.Ref:.-union.59257.Ref:.-
61380 64 69 66 66 65 72 65 6e 63 65 7f 35 39 36 38 37 0a 52 65 66 3a 20 2d 69 6e 74 65 72 73 65 63 74 difference.59687.Ref:.-intersect
613a0 69 6f 6e 7f 36 30 31 31 35 0a 52 65 66 3a 20 2d 70 6f 77 65 72 73 65 74 7f 36 30 35 34 34 0a 52 ion.60115.Ref:.-powerset.60544.R
613c0 65 66 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7f 36 30 38 32 31 0a 52 65 66 3a 20 2d 64 69 ef:.-permutations.60821.Ref:.-di
613e0 73 74 69 6e 63 74 7f 36 31 32 35 39 0a 52 65 66 3a 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7f 36 stinct.61259.Ref:.-same-items?.6
61400 31 36 35 33 0a 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 1653.Node:.Other.list.operations
61420 7f 36 32 32 36 32 0a 52 65 66 3a 20 2d 72 6f 74 61 74 65 7f 36 32 34 39 32 0a 52 65 66 3a 20 2d .62262.Ref:.-rotate.62492.Ref:.-
61440 63 6f 6e 73 2a 7f 36 32 38 34 35 0a 52 65 66 3a 20 2d 73 6e 6f 63 7f 36 33 32 36 37 0a 52 65 66 cons*.62845.Ref:.-snoc.63267.Ref
61460 3a 20 2d 69 6e 74 65 72 70 6f 73 65 7f 36 33 36 37 39 0a 52 65 66 3a 20 2d 69 6e 74 65 72 6c 65 :.-interpose.63679.Ref:.-interle
61480 61 76 65 7f 36 33 39 37 33 0a 52 65 66 3a 20 2d 69 6f 74 61 7f 36 34 33 33 39 0a 52 65 66 3a 20 ave.63973.Ref:.-iota.64339.Ref:.
614a0 2d 7a 69 70 2d 77 69 74 68 7f 36 34 38 32 32 0a 52 65 66 3a 20 2d 7a 69 70 2d 70 61 69 72 7f 36 -zip-with.64822.Ref:.-zip-pair.6
614c0 35 36 33 30 0a 52 65 66 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 7f 36 36 31 39 36 0a 52 65 66 3a 20 5630.Ref:.-zip-lists.66196.Ref:.
614e0 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 7f 36 36 39 39 34 0a 52 65 66 3a 20 2d 7a 69 70 7f -zip-lists-fill.66994.Ref:.-zip.
61500 36 37 37 30 34 0a 52 65 66 3a 20 2d 7a 69 70 2d 66 69 6c 6c 7f 36 38 37 33 31 0a 52 65 66 3a 20 67704.Ref:.-zip-fill.68731.Ref:.
61520 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 7f 36 39 36 34 35 0a 52 65 66 3a 20 2d 75 6e 7a 69 70 7f 37 -unzip-lists.69645.Ref:.-unzip.7
61540 30 32 36 38 0a 52 65 66 3a 20 2d 70 61 64 7f 37 31 32 36 31 0a 52 65 66 3a 20 2d 74 61 62 6c 65 0268.Ref:.-pad.71261.Ref:.-table
61560 7f 37 31 37 34 36 0a 52 65 66 3a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 7f 37 32 35 33 32 0a 52 65 .71746.Ref:.-table-flat.72532.Re
61580 66 3a 20 2d 66 69 72 73 74 7f 37 33 35 33 37 0a 52 65 66 3a 20 2d 6c 61 73 74 7f 37 34 30 37 30 f:.-first.73537.Ref:.-last.74070
615a0 0a 52 65 66 3a 20 2d 66 69 72 73 74 2d 69 74 65 6d 7f 37 34 34 31 36 0a 52 65 66 3a 20 2d 73 65 .Ref:.-first-item.74416.Ref:.-se
615c0 63 6f 6e 64 2d 69 74 65 6d 7f 37 34 38 32 38 0a 52 65 66 3a 20 2d 74 68 69 72 64 2d 69 74 65 6d cond-item.74828.Ref:.-third-item
615e0 7f 37 35 32 34 35 0a 52 65 66 3a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7f 37 35 36 32 30 0a 52 .75245.Ref:.-fourth-item.75620.R
61600 65 66 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 7f 37 35 39 39 38 0a 52 65 66 3a 20 2d 6c 61 73 74 ef:.-fifth-item.75998.Ref:.-last
61620 2d 69 74 65 6d 7f 37 36 33 37 33 0a 52 65 66 3a 20 2d 62 75 74 6c 61 73 74 7f 37 36 37 33 34 0a -item.76373.Ref:.-butlast.76734.
61640 52 65 66 3a 20 2d 73 6f 72 74 7f 37 36 39 37 39 0a 52 65 66 3a 20 2d 6c 69 73 74 7f 37 37 34 37 Ref:.-sort.76979.Ref:.-list.7747
61660 33 0a 52 65 66 3a 20 2d 66 69 78 7f 37 38 30 34 32 0a 4e 6f 64 65 3a 20 54 72 65 65 20 6f 70 65 3.Ref:.-fix.78042.Node:.Tree.ope
61680 72 61 74 69 6f 6e 73 7f 37 38 35 33 31 0a 52 65 66 3a 20 2d 74 72 65 65 2d 73 65 71 7f 37 38 37 rations.78531.Ref:.-tree-seq.787
616a0 33 32 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 7f 37 39 35 39 33 0a 52 65 66 3a 20 2d 74 72 32.Ref:.-tree-map.79593.Ref:.-tr
616c0 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7f 38 30 30 33 33 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 65 ee-map-nodes.80033.Ref:.-tree-re
616e0 64 75 63 65 7f 38 30 38 39 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f duce.80897.Ref:.-tree-reduce-fro
61700 6d 7f 38 31 37 37 39 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 7f 38 32 33 m.81779.Ref:.-tree-mapreduce.823
61720 37 39 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 7f 38 33 32 79.Ref:.-tree-mapreduce-from.832
61740 33 38 0a 52 65 66 3a 20 2d 63 6c 6f 6e 65 7f 38 34 35 32 33 0a 4e 6f 64 65 3a 20 54 68 72 65 61 38.Ref:.-clone.84523.Node:.Threa
61760 64 69 6e 67 20 6d 61 63 72 6f 73 7f 38 34 38 36 31 0a 52 65 66 3a 20 2d 3e 7f 38 35 30 39 31 0a ding.macros.84861.Ref:.->.85091.
61780 52 65 66 3a 20 2d 3e 3e 7f 38 35 35 37 39 0a 52 65 66 3a 20 2d 2d 3e 7f 38 36 30 38 32 0a 52 65 Ref:.->>.85579.Ref:.-->.86082.Re
617a0 66 3a 20 2d 61 73 2d 3e 7f 38 36 36 33 39 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 7f 38 37 30 39 f:.-as->.86639.Ref:.-some->.8709
617c0 33 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 3e 7f 38 37 34 37 38 0a 52 65 66 3a 20 2d 73 6f 6d 65 3.Ref:.-some->>.87478.Ref:.-some
617e0 2d 2d 3e 7f 38 37 39 32 35 0a 52 65 66 3a 20 2d 64 6f 74 6f 7f 38 38 34 39 32 0a 4e 6f 64 65 3a -->.87925.Ref:.-doto.88492.Node:
61800 20 42 69 6e 64 69 6e 67 7f 38 39 30 34 35 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 7f 38 39 .Binding.89045.Ref:.-when-let.89
61820 32 35 37 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 2a 7f 38 39 37 31 38 0a 52 65 66 3a 20 2d 257.Ref:.-when-let*.89718.Ref:.-
61840 69 66 2d 6c 65 74 7f 39 30 32 34 37 0a 52 65 66 3a 20 2d 69 66 2d 6c 65 74 2a 7f 39 30 36 31 33 if-let.90247.Ref:.-if-let*.90613
61860 0a 52 65 66 3a 20 2d 6c 65 74 7f 39 31 32 33 36 0a 52 65 66 3a 20 2d 6c 65 74 2a 7f 39 37 33 32 .Ref:.-let.91236.Ref:.-let*.9732
61880 36 0a 52 65 66 3a 20 2d 6c 61 6d 62 64 61 7f 39 38 32 36 33 0a 52 65 66 3a 20 2d 73 65 74 71 7f 6.Ref:.-lambda.98263.Ref:.-setq.
618a0 39 39 30 36 39 0a 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 7f 39 39 38 37 30 0a 52 99069.Node:.Side.effects.99870.R
618c0 65 66 3a 20 2d 65 61 63 68 7f 31 30 30 30 36 39 0a 52 65 66 3a 20 2d 65 61 63 68 2d 77 68 69 6c ef:.-each.100069.Ref:.-each-whil
618e0 65 7f 31 30 30 35 39 36 0a 52 65 66 3a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7f 31 30 31 32 e.100596.Ref:.-each-indexed.1012
61900 31 36 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 7f 31 30 31 38 30 38 0a 52 65 66 3a 20 2d 65 61 63 16.Ref:.-each-r.101808.Ref:.-eac
61920 68 2d 72 2d 77 68 69 6c 65 7f 31 30 32 32 35 30 0a 52 65 66 3a 20 2d 64 6f 74 69 6d 65 73 7f 31 h-r-while.102250.Ref:.-dotimes.1
61940 30 32 38 39 34 0a 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 02894.Node:.Destructive.operatio
61960 6e 73 7f 31 30 33 34 34 37 0a 52 65 66 3a 20 21 63 6f 6e 73 7f 31 30 33 36 37 30 0a 52 65 66 3a ns.103447.Ref:.!cons.103670.Ref:
61980 20 21 63 64 72 7f 31 30 33 38 37 34 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 .!cdr.103874.Node:.Function.comb
619a0 69 6e 61 74 6f 72 73 7f 31 30 34 30 36 37 0a 52 65 66 3a 20 2d 70 61 72 74 69 61 6c 7f 31 30 34 inators.104067.Ref:.-partial.104
619c0 32 37 36 0a 52 65 66 3a 20 2d 72 70 61 72 74 69 61 6c 7f 31 30 34 37 39 34 0a 52 65 66 3a 20 2d 276.Ref:.-rpartial.104794.Ref:.-
619e0 6a 75 78 74 7f 31 30 35 34 34 32 0a 52 65 66 3a 20 2d 63 6f 6d 70 6f 73 65 7f 31 30 35 38 39 34 juxt.105442.Ref:.-compose.105894
61a00 0a 52 65 66 3a 20 2d 61 70 70 6c 69 66 79 7f 31 30 36 35 30 31 0a 52 65 66 3a 20 2d 6f 6e 7f 31 .Ref:.-applify.106501.Ref:.-on.1
61a20 30 36 39 33 31 0a 52 65 66 3a 20 2d 66 6c 69 70 7f 31 30 37 37 30 33 0a 52 65 66 3a 20 2d 72 6f 06931.Ref:.-flip.107703.Ref:.-ro
61a40 74 61 74 65 2d 61 72 67 73 7f 31 30 38 32 32 37 0a 52 65 66 3a 20 2d 63 6f 6e 73 74 7f 31 30 38 tate-args.108227.Ref:.-const.108
61a60 38 35 36 0a 52 65 66 3a 20 2d 63 75 74 7f 31 30 39 31 39 38 0a 52 65 66 3a 20 2d 6e 6f 74 7f 31 856.Ref:.-cut.109198.Ref:.-not.1
61a80 30 39 36 37 38 0a 52 65 66 3a 20 2d 6f 72 66 6e 7f 31 31 30 32 32 32 0a 52 65 66 3a 20 2d 61 6e 09678.Ref:.-orfn.110222.Ref:.-an
61aa0 64 66 6e 7f 31 31 31 30 31 35 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 66 6e 7f 31 31 31 38 30 dfn.111015.Ref:.-iteratefn.11180
61ac0 32 0a 52 65 66 3a 20 2d 66 69 78 66 6e 7f 31 31 32 35 30 34 0a 52 65 66 3a 20 2d 70 72 6f 64 66 2.Ref:.-fixfn.112504.Ref:.-prodf
61ae0 6e 7f 31 31 34 30 37 38 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 7f 31 31 35 32 32 n.114078.Node:.Development.11522
61b00 39 0a 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 65 7f 31 31 35 35 32 33 0a 4e 6f 64 65 3a 20 9.Node:.Contribute.115523.Node:.
61b20 43 6f 6e 74 72 69 62 75 74 6f 72 73 7f 31 31 36 35 34 30 0a 4e 6f 64 65 3a 20 46 44 4c 7f 31 31 Contributors.116540.Node:.FDL.11
61b40 38 36 33 38 0a 4e 6f 64 65 3a 20 47 50 4c 7f 31 34 33 39 36 33 0a 4e 6f 64 65 3a 20 49 6e 64 65 8638.Node:.GPL.143963.Node:.Inde
61b60 78 7f 31 38 31 37 31 37 0a 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 x.181717...End.Tag.Table....Loca
61b80 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a l.Variables:.coding:.utf-8.End:.
61ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 4e 45 57 53 2e 6d 64 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/NEWS.md.............
61c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
61c80 30 30 32 37 36 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 36 31 00 20 30 00 00 00 0027632.00000000000.012261..0...
61ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
61d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
61d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61e00 23 20 44 61 73 68 20 4e 45 57 53 20 2d 2d 20 68 69 73 74 6f 72 79 20 6f 66 20 75 73 65 72 2d 76 #.Dash.NEWS.--.history.of.user-v
61e20 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 isible.changes..Copyright.(C).20
61e40 31 32 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 12-2025.Free.Software.Foundation
61e60 2c 20 49 6e 63 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 ,.Inc...See.the.end.of.the.file.
61e80 66 6f 72 20 6c 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 68 61 6e for.license.conditions...##.Chan
61ea0 67 65 20 6c 6f 67 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 39 2e 31 20 74 6f 20 32 2e 32 30 2e ge.log..###.From.2.19.1.to.2.20.
61ec0 30 0a 0a 23 23 23 23 20 44 65 70 72 65 63 61 74 69 6f 6e 73 0a 0a 2d 20 43 61 6c 6c 69 6e 67 20 0..####.Deprecations..-.Calling.
61ee0 60 2d 7a 69 70 60 20 77 69 74 68 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 6e 6f 77 20 65 6d `-zip`.with.two.arguments.now.em
61f00 69 74 73 20 61 20 77 61 72 6e 69 6e 67 2e 20 20 54 68 69 73 0a 20 20 6c 6f 6e 67 2d 64 69 73 63 its.a.warning...This...long-disc
61f20 6f 75 72 61 67 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 72 65 6d 61 69 ouraged.calling.convention.remai
61f40 6e 73 20 73 75 70 70 6f 72 74 65 64 2c 20 62 75 74 20 74 68 65 0a 20 20 63 61 6c 6c 65 72 20 69 ns.supported,.but.the...caller.i
61f60 73 20 6e 6f 77 20 72 65 66 65 72 72 65 64 20 74 6f 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 s.now.referred.to.the.equivalent
61f80 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 69 6e 73 74 65 61 64 20 28 53 74 65 66 61 6e 0a 20 20 4d .`-zip-pair`.instead.(Stefan...M
61fa0 6f 6e 6e 69 65 72 2c 20 23 34 30 30 29 2e 0a 2d 20 43 61 6c 6c 69 6e 67 20 60 2d 7a 69 70 2d 70 onnier,.#400)..-.Calling.`-zip-p
61fc0 61 69 72 60 20 77 69 74 68 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 6d 6f 72 65 20 74 68 61 6e air`.with.less.than.or.more.than
61fe0 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 69 73 20 6e 6f 77 0a 20 20 64 65 70 72 65 63 61 74 .two.arguments.is.now...deprecat
62000 65 64 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 ed,.and.can.be.replaced.with.the
62020 20 65 71 75 69 76 61 6c 65 6e 74 20 63 61 6c 6c 20 74 6f 0a 20 20 60 2d 7a 69 70 2d 6c 69 73 74 .equivalent.call.to...`-zip-list
62040 73 60 20 69 6e 73 74 65 61 64 2e 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 46 69 78 65 64 s`.instead...####.Fixes..-.Fixed
62060 20 61 20 72 65 67 72 65 73 73 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 31 38 60 20 69 6e 20 60 2d 74 .a.regression.from.`2.18`.in.`-t
62080 61 6b 65 60 20 74 68 61 74 20 63 61 75 73 65 64 20 69 74 20 74 6f 0a 20 20 70 72 65 6d 61 74 75 ake`.that.caused.it.to...prematu
620a0 72 65 6c 79 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 20 6f 6e 20 69 6d 70 72 6f 70 65 72 rely.signal.an.error.on.improper
620c0 20 6c 69 73 74 73 20 28 23 33 39 33 29 2e 0a 2d 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 2d .lists.(#393)..-.The.function.`-
620e0 70 61 64 60 20 63 61 6e 20 6e 6f 77 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 7a 65 72 6f pad`.can.now.be.called.with.zero
62100 20 6c 69 73 74 73 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2e 0a 2d 20 54 68 65 20 66 75 6e 63 74 .lists.as.arguments..-.The.funct
62120 69 6f 6e 73 20 60 2d 75 6e 69 6f 6e 60 2c 20 60 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 60 2c 20 ions.`-union`,.`-intersection`,.
62140 61 6e 64 20 60 2d 64 69 66 66 65 72 65 6e 63 65 60 20 6e 6f 77 0a 20 20 72 65 74 75 72 6e 20 70 and.`-difference`.now...return.p
62160 72 6f 70 65 72 20 73 65 74 73 2c 20 77 69 74 68 6f 75 74 20 64 75 70 6c 69 63 61 74 65 20 65 6c roper.sets,.without.duplicate.el
62180 65 6d 65 6e 74 73 20 28 23 33 39 37 29 2e 0a 2d 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 60 ements.(#397)..-.The.functions.`
621a0 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 60 20 61 6e 64 20 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 -same-items?`.and.`-permutations
621c0 60 20 6e 6f 77 20 77 6f 72 6b 20 6f 6e 0a 20 20 6d 75 6c 74 69 73 65 74 73 20 28 6c 69 73 74 73 `.now.work.on...multisets.(lists
621e0 20 77 69 74 68 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 29 20 28 23 33 39 30 2c .with.duplicate.elements).(#390,
62200 20 23 33 39 37 2c 20 23 33 39 39 29 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 .#397,.#399).....For.example:...
62220 20 60 60 60 65 6c 0a 20 20 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 31 20 32 20 33 .```el...(-same-items?.'(1.1.2.3
62240 29 20 27 28 33 20 31 20 32 29 29 20 3b 20 3d 3e 20 74 0a 20 20 28 2d 70 65 72 6d 75 74 61 74 69 ).'(3.1.2)).;.=>.t...(-permutati
62260 6f 6e 73 20 27 28 31 20 31 20 32 29 29 20 3b 20 3d 3e 20 27 28 28 31 20 31 20 32 29 20 28 31 20 ons.'(1.1.2)).;.=>.'((1.1.2).(1.
62280 32 20 31 29 20 28 32 20 31 20 31 29 29 0a 20 20 60 60 60 0a 0a 2d 20 53 65 76 65 72 61 6c 20 66 2.1).(2.1.1))...```..-.Several.f
622a0 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 61 72 65 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 73 unctions.which.are.documented.as
622c0 20 72 65 74 75 72 6e 69 6e 67 20 61 20 66 72 65 73 68 2c 20 6d 75 74 61 62 6c 65 0a 20 20 6f 62 .returning.a.fresh,.mutable...ob
622e0 6a 65 63 74 20 28 73 75 63 68 20 61 73 20 61 20 63 6f 70 79 20 6f 66 20 6f 6e 65 20 6f 66 20 74 ject.(such.as.a.copy.of.one.of.t
62300 68 65 69 72 20 61 72 67 75 6d 65 6e 74 73 29 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65 72 0a 20 20 heir.arguments).are.no.longer...
62320 6d 61 72 6b 65 64 20 61 73 20 60 70 75 72 65 60 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e marked.as.`pure`...Pure.function
62340 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 63 6f 6e 73 74 61 6e 74 20 61 72 67 75 6d 65 6e 74 73 s.called.with.constant.arguments
62360 20 61 72 65 0a 20 20 65 76 61 6c 75 61 74 65 64 20 64 75 72 69 6e 67 20 62 79 74 65 2d 63 6f 6d .are...evaluated.during.byte-com
62380 70 69 6c 61 74 69 6f 6e 3b 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 20 69 73 pilation;.the.resulting.value.is
623a0 20 61 6e 0a 20 20 69 6d 6d 75 74 61 62 6c 65 20 63 6f 6e 73 74 61 6e 74 2c 20 61 6e 64 20 74 68 .an...immutable.constant,.and.th
623c0 75 73 20 75 6e 73 61 66 65 20 74 6f 20 6d 6f 64 69 66 79 20 64 65 73 74 72 75 63 74 69 76 65 6c us.unsafe.to.modify.destructivel
623e0 79 2e 20 20 54 68 65 0a 20 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 y...The...functions.in.question.
62400 61 72 65 3a 20 60 2d 63 6c 6f 6e 65 60 2c 20 60 2d 63 6f 6e 73 2a 60 2c 20 60 2d 64 72 6f 70 2d are:.`-clone`,.`-cons*`,.`-drop-
62420 6c 61 73 74 60 2c 0a 20 20 60 2d 69 6e 74 65 72 6c 65 61 76 65 60 2c 20 60 2d 69 6e 74 65 72 70 last`,...`-interleave`,.`-interp
62440 6f 73 65 60 2c 20 60 2d 69 6f 74 61 60 2c 20 60 2d 6e 6f 6e 2d 6e 69 6c 60 2c 20 60 2d 72 65 70 ose`,.`-iota`,.`-non-nil`,.`-rep
62460 65 61 74 60 2c 0a 20 20 60 2d 73 6c 69 63 65 60 2c 20 60 2d 73 6e 6f 63 60 2c 20 60 2d 73 70 6c eat`,...`-slice`,.`-snoc`,.`-spl
62480 69 74 2d 61 74 60 2c 20 60 2d 74 61 6b 65 60 2c 20 60 2d 74 61 6b 65 2d 6c 61 73 74 60 2e 0a 0a it-at`,.`-take`,.`-take-last`...
624a0 23 23 23 23 20 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2d 20 54 68 65 20 66 75 6e 63 74 69 6f ####.New.features..-.The.functio
624c0 6e 20 60 2d 63 6f 6e 74 61 69 6e 73 3f 60 20 6e 6f 77 20 72 65 74 75 72 6e 73 20 74 68 65 20 6d n.`-contains?`.now.returns.the.m
624e0 61 74 63 68 69 6e 67 20 74 61 69 6c 20 6f 66 20 74 68 65 20 6c 69 73 74 0a 20 20 69 6e 73 74 65 atching.tail.of.the.list...inste
62500 61 64 20 6f 66 20 6a 75 73 74 20 60 74 60 2c 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 60 6d 65 ad.of.just.`t`,.similarly.to.`me
62520 6d 62 65 72 60 20 28 23 33 39 37 29 2e 0a 2d 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 60 2d 66 mber`.(#397)..-.New.function.`-f
62540 72 65 71 75 65 6e 63 69 65 73 60 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 20 61 6e requencies`.that.takes.a.list.an
62560 64 20 63 6f 75 6e 74 73 20 68 6f 77 20 6d 61 6e 79 0a 20 20 74 69 6d 65 73 20 65 61 63 68 20 64 d.counts.how.many...times.each.d
62580 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 20 6f 63 63 75 72 73 20 69 6e 20 69 74 20 28 73 75 istinct.element.occurs.in.it.(su
625a0 67 67 65 73 74 65 64 20 62 79 20 40 65 62 70 61 2c 20 23 32 30 39 2c 0a 20 20 23 32 31 34 2c 20 ggested.by.@ebpa,.#209,...#214,.
625c0 23 33 39 39 29 2e 0a 2d 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 73 20 60 2d 7a 69 70 2d 6c 69 73 #399)..-.New.functions.`-zip-lis
625e0 74 73 2d 66 69 6c 6c 60 20 61 6e 64 20 60 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 60 20 77 68 69 63 ts-fill`.and.`-unzip-lists`.whic
62600 68 20 61 72 65 0a 20 20 62 65 74 74 65 72 2d 62 65 68 61 76 65 64 20 76 65 72 73 69 6f 6e 73 20 h.are...better-behaved.versions.
62620 6f 66 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 20 61 6e 64 20 60 2d 75 6e 7a 69 70 60 2c 20 72 65 73 of.`-zip-fill`.and.`-unzip`,.res
62640 70 65 63 74 69 76 65 6c 79 0a 20 20 28 23 34 30 30 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e pectively...(#400)...###.From.2.
62660 31 39 2e 30 20 74 6f 20 32 2e 31 39 2e 31 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 46 69 19.0.to.2.19.1..####.Fixes..-.Fi
62680 78 65 64 20 61 20 72 65 67 72 65 73 73 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 31 38 60 20 69 6e 20 xed.a.regression.from.`2.18`.in.
626a0 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 60 20 77 68 69 63 68 20 6c 65 64 20 74 6f 20 66 61 6c 73 `-is-suffix-p`.which.led.to.fals
626c0 65 0a 20 20 6e 65 67 61 74 69 76 65 73 20 77 68 65 6e 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 e...negatives.when.parts.of.the.
626e0 73 75 66 66 69 78 20 61 70 70 65 61 72 65 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 20 69 suffix.appeared.multiple.times.i
62700 6e 20 74 68 65 0a 20 20 6c 69 73 74 20 62 65 69 6e 67 20 73 65 61 72 63 68 65 64 20 28 42 65 6e n.the...list.being.searched.(Ben
62720 6e 65 74 74 20 52 65 6e 6e 69 65 72 2c 20 23 33 38 34 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 nett.Rennier,.#384)...###.From.2
62740 2e 31 38 2e 31 20 74 6f 20 32 2e 31 39 2e 30 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 52 .18.1.to.2.19.0..####.Fixes..-.R
62760 65 76 65 72 74 65 64 20 61 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 20 69 6e 74 72 6f 64 everted.a.breaking.change.introd
62780 75 63 65 64 20 69 6e 20 60 32 2e 31 38 2e 30 60 20 74 68 61 74 20 63 61 75 73 65 64 20 74 68 65 uced.in.`2.18.0`.that.caused.the
627a0 0a 20 20 74 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 20 60 2d 2d 3e 60 20 74 6f 20 62 65 20 69 ...threading.macro.`-->`.to.be.i
627c0 6e 64 65 6e 74 65 64 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 60 2d 3e 60 20 61 6e ndented.differently.from.`->`.an
627e0 64 20 60 2d 3e 3e 60 0a 20 20 28 23 33 37 35 29 2e 0a 2d 20 41 64 64 65 64 20 61 6e 64 20 66 69 d.`->>`...(#375)..-.Added.and.fi
62800 78 65 64 20 45 64 65 62 75 67 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 6d 61 xed.Edebug.specifications.for.ma
62820 6e 79 20 44 61 73 68 20 6d 61 63 72 6f 73 20 28 50 68 69 6c 69 70 70 0a 20 20 53 74 65 70 68 61 ny.Dash.macros.(Philipp...Stepha
62840 6e 69 2c 20 23 33 38 30 2c 20 23 33 38 31 29 2e 0a 0a 23 23 23 23 20 4e 65 77 20 66 65 61 74 75 ni,.#380,.#381)...####.New.featu
62860 72 65 73 0a 0a 2d 20 54 68 65 20 63 6f 6d 62 69 6e 61 74 6f 72 73 20 60 2d 6f 6e 60 2c 20 60 2d res..-.The.combinators.`-on`,.`-
62880 66 6c 69 70 60 2c 20 60 2d 6e 6f 74 60 2c 20 60 2d 61 6e 64 66 6e 60 2c 20 61 6e 64 20 60 2d 6f flip`,.`-not`,.`-andfn`,.and.`-o
628a0 72 66 6e 60 20 6e 6f 77 0a 20 20 72 65 74 75 72 6e 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 rfn`.now...return.variadic.funct
628c0 69 6f 6e 73 20 74 68 61 74 20 74 61 6b 65 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 ions.that.take.any.number.of.arg
628e0 75 6d 65 6e 74 73 20 28 23 33 30 38 29 2e 0a 2d 20 4e 65 77 20 63 6f 6d 62 69 6e 61 74 6f 72 20 uments.(#308)..-.New.combinator.
62900 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 60 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 2d 66 6c 69 70 `-rotate-args`.similar.to.`-flip
62920 60 2c 20 62 75 74 20 66 6f 72 20 61 72 62 69 74 72 61 72 79 0a 20 20 61 72 67 6c 69 73 74 20 72 `,.but.for.arbitrary...arglist.r
62940 6f 74 61 74 69 6f 6e 73 20 28 73 75 67 67 65 73 74 65 64 20 62 79 20 40 76 61 70 6e 69 6b 73 2c otations.(suggested.by.@vapniks,
62960 20 23 37 32 29 2e 0a 2d 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 60 2d 65 76 65 72 79 60 20 61 .#72)..-.New.function.`-every`.a
62980 6e 64 20 69 74 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 63 6f 75 6e 74 65 72 70 61 nd.its.anaphoric.macro.counterpa
629a0 72 74 20 60 2d 2d 65 76 65 72 79 60 2e 0a 20 20 54 68 65 79 20 61 72 65 20 6c 69 6b 65 20 74 68 rt.`--every`....They.are.like.th
629c0 65 20 65 78 69 73 74 69 6e 67 20 60 2d 65 76 65 72 79 2d 70 60 20 61 6e 64 20 60 2d 2d 65 76 65 e.existing.`-every-p`.and.`--eve
629e0 72 79 2d 70 60 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 0a 20 20 62 75 74 20 72 65 74 75 72 ry-p`,.respectively,...but.retur
62a00 6e 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 69 6e 73 74 n.the.last.non-`nil`.result.inst
62a20 65 61 64 20 6f 66 20 6a 75 73 74 20 60 74 60 2e 0a 2d 20 4e 65 77 20 6d 61 63 72 6f 20 60 2d 2d ead.of.just.`t`..-.New.macro.`--
62a40 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 20 77 68 69 63 68 20 61 66 66 6f partition-after-pred`.which.affo
62a60 72 64 73 0a 20 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 20 62 65 rds...`-partition-after-pred`.be
62a80 74 74 65 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 50 65 72 20 57 65 69 6a 6e 69 74 7a 2c 20 tter.performance.(Per.Weijnitz,.
62aa0 23 33 36 32 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 38 2e 30 20 74 6f 20 32 2e 31 38 2e #362)...###.From.2.18.0.to.2.18.
62ac0 31 0a 0a 2d 20 46 69 78 65 64 20 61 20 72 65 67 72 65 73 73 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 1..-.Fixed.a.regression.from.`2.
62ae0 31 37 60 20 61 73 20 77 65 6c 6c 20 61 73 20 61 20 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e 67 20 62 17`.as.well.as.a.long-standing.b
62b00 75 67 20 69 6e 0a 20 20 60 2d 2d 69 74 65 72 61 74 65 60 2c 20 77 68 69 63 68 20 65 76 61 6c 75 ug.in...`--iterate`,.which.evalu
62b20 61 74 65 64 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 6f 6e 65 20 74 6f 6f 20 6d 61 6e 79 20 ated.its.arguments.one.too.many.
62b40 74 69 6d 65 73 2e 20 20 54 68 69 73 0a 20 20 69 6e 20 74 75 72 6e 20 63 6f 75 6c 64 20 6c 65 61 times...This...in.turn.could.lea
62b60 64 20 74 6f 20 65 72 72 6f 72 73 20 69 6e 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 20 77 68 65 6e d.to.errors.in.`-flatten-n`.when
62b80 20 69 74 20 74 72 69 65 64 0a 20 20 66 6c 61 74 74 65 6e 69 6e 67 20 63 65 72 74 61 69 6e 20 73 .it.tried...flattening.certain.s
62ba0 74 72 75 63 74 75 72 65 73 20 74 6f 6f 20 66 61 72 20 28 23 33 37 33 29 2e 0a 0a 23 23 23 20 46 tructures.too.far.(#373)...###.F
62bc0 72 6f 6d 20 32 2e 31 37 20 74 6f 20 32 2e 31 38 0a 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 61 rom.2.17.to.2.18..This.release.a
62be0 62 73 6f 72 62 73 20 74 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65 20 60 64 61 73 68 2d 66 75 bsorbs.the.now.obsolete.`dash-fu
62c00 6e 63 74 69 6f 6e 61 6c 60 20 76 65 72 73 69 6f 6e 0a 60 31 2e 33 2e 30 60 20 69 6e 74 6f 20 60 nctional`.version.`1.3.0`.into.`
62c20 64 61 73 68 60 2c 20 61 6e 64 20 62 72 69 6e 67 73 20 74 68 65 20 76 65 72 79 20 6f 6c 64 20 76 dash`,.and.brings.the.very.old.v
62c40 65 72 73 69 6f 6e 20 6f 66 20 60 64 61 73 68 60 20 6f 6e 20 47 4e 55 0a 45 4c 50 41 20 75 70 20 ersion.of.`dash`.on.GNU.ELPA.up.
62c60 74 6f 20 64 61 74 65 2e 0a 0a 50 61 63 6b 61 67 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 73 68 to.date...Package.maintainers.sh
62c80 6f 75 6c 64 20 72 65 70 6c 61 63 65 20 61 6c 6c 20 75 73 65 73 20 6f 66 20 60 64 61 73 68 2d 66 ould.replace.all.uses.of.`dash-f
62ca0 75 6e 63 74 69 6f 6e 61 6c 60 2c 0a 77 68 69 63 68 20 77 69 6c 6c 20 65 76 65 6e 74 75 61 6c 6c unctional`,.which.will.eventuall
62cc0 79 20 62 65 20 64 65 6c 65 74 65 64 2c 20 77 69 74 68 20 60 64 61 73 68 60 20 76 65 72 73 69 6f y.be.deleted,.with.`dash`.versio
62ce0 6e 20 60 32 2e 31 38 2e 30 60 2e 20 20 46 6f 72 0a 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f n.`2.18.0`...For.more.informatio
62d00 6e 20 6f 6e 20 74 68 69 73 2c 20 73 65 65 3a 0a 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 n.on.this,.see:.https://github.c
62d20 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 77 69 6b 69 2f 4f 62 73 6f 6c 65 74 69 om/magnars/dash.el/wiki/Obsoleti
62d40 6f 6e 2d 6f 66 2d 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 0a 0a 2d 20 4e 65 77 20 on-of-dash-functional.el..-.New.
62d60 66 75 6e 63 74 69 6f 6e 20 60 2d 69 6f 74 61 60 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 function.`-iota`.for.generating.
62d80 61 72 69 74 68 6d 65 74 69 63 20 73 65 71 75 65 6e 63 65 73 0a 20 20 28 40 68 6f 6c 6f 6d 6f 72 arithmetic.sequences...(@holomor
62da0 70 68 2c 20 23 32 31 35 29 2e 0a 0a 2d 20 43 61 6c 6c 69 6e 67 20 60 2d 6c 69 73 74 60 20 77 69 ph,.#215)...-.Calling.`-list`.wi
62dc0 74 68 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 77 th.more.than.one.argument.is.now
62de0 20 64 65 70 72 65 63 61 74 65 64 2e 0a 0a 2d 20 60 2d 6c 61 6d 62 64 61 60 20 6e 6f 77 20 61 63 .deprecated...-.`-lambda`.now.ac
62e00 63 65 70 74 73 20 61 6e 20 65 6d 70 74 79 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 2e 0a 0a 2d cepts.an.empty.argument.list...-
62e20 20 4e 65 77 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 73 20 60 2d 2d 72 65 64 75 63 74 69 .New.anaphoric.macros.`--reducti
62e40 6f 6e 73 2d 66 72 6f 6d 60 2c 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 60 2c 0a 20 20 60 2d 2d ons-from`,.`--reductions`,...`--
62e60 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 2c 20 61 6e 64 20 60 2d 2d 72 65 64 75 63 reductions-r-from`,.and.`--reduc
62e80 74 69 6f 6e 73 2d 72 60 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 tions-r`.corresponding.to.the...
62ea0 61 6e 61 6c 6f 67 6f 75 73 20 6e 6f 6e 2d 61 6e 61 70 68 6f 72 69 63 20 66 75 6e 63 74 69 6f 6e analogous.non-anaphoric.function
62ec0 73 2e 0a 0a 2d 20 60 2d 64 6f 74 6f 60 20 74 68 72 65 61 64 69 6e 67 20 6e 6f 77 20 77 6f 72 6b s...-.`-doto`.threading.now.work
62ee0 73 20 61 73 20 77 69 74 68 20 60 2d 3e 60 2e 0a 0a 2d 20 4e 65 77 20 62 75 66 66 65 72 2d 6c 6f s.as.with.`->`...-.New.buffer-lo
62f00 63 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 cal.minor.mode.`dash-fontify-mod
62f20 65 60 20 61 6e 64 20 67 6c 6f 62 61 6c 69 7a 65 64 0a 20 20 63 6f 75 6e 74 65 72 70 61 72 74 20 e`.and.globalized...counterpart.
62f40 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 20 66 6f 72 20 66 `global-dash-fontify-mode`.for.f
62f60 6f 6e 74 69 66 79 69 6e 67 20 73 70 65 63 69 61 6c 20 44 61 73 68 0a 20 20 76 61 72 69 61 62 6c ontifying.special.Dash...variabl
62f80 65 73 20 73 75 63 68 20 61 73 20 60 69 74 60 2c 20 60 69 74 2d 69 6e 64 65 78 60 2c 20 60 61 63 es.such.as.`it`,.`it-index`,.`ac
62fa0 63 60 2c 20 65 74 63 2e 20 20 54 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 20 20 c`,.etc...The.minor.mode.also...
62fc0 66 6f 6e 74 69 66 69 65 73 20 63 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 20 69 fontifies.calls.to.Dash.macros.i
62fe0 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 69 64 n.older.Emacs.versions.which.did
63000 20 6e 6f 74 0a 20 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 20 .not...dynamically.detect.macro.
63020 63 61 6c 6c 73 2e 0a 0a 20 20 54 68 69 73 20 6f 62 73 6f 6c 65 74 65 73 20 74 68 65 20 75 73 65 calls.....This.obsoletes.the.use
63040 72 20 6f 70 74 69 6f 6e 20 60 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 6c 6f 63 6b 60 20 r.option.`dash-enable-fontlock`.
63060 61 6e 64 20 74 68 65 0a 20 20 66 75 6e 63 74 69 6f 6e 20 60 64 61 73 68 2d 65 6e 61 62 6c 65 2d and.the...function.`dash-enable-
63080 66 6f 6e 74 2d 6c 6f 63 6b 60 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 77 20 61 6e 20 61 6c 69 61 font-lock`,.which.is.now.an.alia
630a0 73 20 6f 66 0a 20 20 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 s.of...`global-dash-fontify-mode
630c0 60 2e 0a 0a 2d 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 20 60 64 61 73 68 2d 72 65 67 69 73 74 65 72 `...-.New.command.`dash-register
630e0 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 60 20 66 6f 72 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 77 69 -info-lookup`.for.integration.wi
63100 74 68 20 60 43 2d 68 20 53 60 0a 20 20 28 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f th.`C-h.S`...(`info-lookup-symbo
63120 6c 60 29 2e 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 6c 6c 6f 77 73 20 44 61 73 68 20 73 l`)...This.command.allows.Dash.s
63140 79 6d 62 6f 6c 73 20 74 6f 20 62 65 0a 20 20 6c 6f 6f 6b 65 64 20 75 70 20 69 6e 20 74 68 65 20 ymbols.to.be...looked.up.in.the.
63160 44 61 73 68 20 6d 61 6e 75 61 6c 20 6a 75 73 74 20 6c 69 6b 65 20 45 6c 69 73 70 20 73 79 6d 62 Dash.manual.just.like.Elisp.symb
63180 6f 6c 73 20 61 72 65 20 6c 6f 6f 6b 65 64 20 75 70 0a 20 20 69 6e 20 74 68 65 20 45 6c 69 73 70 ols.are.looked.up...in.the.Elisp
631a0 20 6d 61 6e 75 61 6c 2e 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 62 65 20 63 61 6c .manual...The.command.can.be.cal
631c0 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 20 20 6e 65 65 64 65 64 2c 20 6f 72 20 61 led.directly.when...needed,.or.a
631e0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 utomatically.from.your.`user-ini
63200 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 60 60 60 65 6c 0a t-file`...For.example:....```el.
63220 20 20 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f ..(with-eval-after-load.'info-lo
63240 6f 6b 0a 20 20 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 ok.....(dash-register-info-looku
63260 70 29 29 0a 20 20 60 60 60 0a 0a 2d 20 44 61 73 68 20 69 73 20 6e 6f 77 20 6c 69 73 74 65 64 20 p))...```..-.Dash.is.now.listed.
63280 75 6e 64 65 72 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 5b 43 75 73 74 6f 6d 69 7a 61 74 69 6f under.the.standard.[Customizatio
632a0 6e 0a 20 20 67 72 6f 75 70 73 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 n...groups](https://gnu.org/soft
632c0 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 ware/emacs/manual/html_node/emac
632e0 73 2f 43 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 2d 47 72 6f 75 70 73 2e 68 74 6d 6c 29 0a 20 20 61 s/Customization-Groups.html)...a
63300 6e 64 20 5b 46 69 6e 64 65 72 0a 20 20 6b 65 79 77 6f 72 64 73 5d 28 68 74 74 70 73 3a 2f 2f 67 nd.[Finder...keywords](https://g
63320 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d nu.org/software/emacs/manual/htm
63340 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 50 61 63 6b 61 67 65 2d 4b 65 79 77 6f 72 64 73 2e 68 74 l_node/emacs/Package-Keywords.ht
63360 6d 6c 29 0a 20 20 60 65 78 74 65 6e 73 69 6f 6e 73 60 20 61 6e 64 20 60 6c 69 73 70 60 2e 0a 0a ml)...`extensions`.and.`lisp`...
63380 2d 20 54 68 65 20 44 61 73 68 20 6d 61 6e 75 61 6c 20 69 73 20 6e 6f 77 20 6c 69 63 65 6e 73 65 -.The.Dash.manual.is.now.license
633a0 64 20 75 6e 64 65 72 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 d.under.the.GNU.Free.Documentati
633c0 6f 6e 0a 20 20 4c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 20 31 2e 33 2e 0a 0a 2d 20 56 61 72 on...License.version.1.3...-.Var
633e0 69 6f 75 73 20 6f 74 68 65 72 20 62 75 67 20 66 69 78 2c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2c ious.other.bug.fix,.performance,
63400 20 62 79 74 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 64 6f 63 75 6d 65 6e .byte-compilation,.and...documen
63420 74 61 74 69 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 tation.improvements...###.From.2
63440 2e 31 36 20 74 6f 20 32 2e 31 37 0a 0a 2d 20 53 70 65 64 20 75 70 20 60 2d 75 6e 69 71 60 20 62 .16.to.2.17..-.Sped.up.`-uniq`.b
63460 79 20 75 73 69 6e 67 20 68 61 73 68 2d 74 61 62 6c 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c y.using.hash-tables.when.possibl
63480 65 20 28 40 63 69 72 65 75 2c 20 23 33 30 35 29 2e 0a 2d 20 46 69 78 65 64 20 60 2d 69 6e 69 74 e.(@cireu,.#305)..-.Fixed.`-init
634a0 73 60 20 74 6f 20 62 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 28 40 53 77 69 66 74 s`.to.be.non-destructive.(@Swift
634c0 4c 61 77 6e 47 6e 6f 6d 65 2c 20 23 33 31 33 29 2e 0a 2d 20 46 69 78 65 64 20 69 6e 64 65 6e 74 LawnGnome,.#313)..-.Fixed.indent
634e0 20 72 75 6c 65 73 20 66 6f 72 20 60 2d 73 6f 6d 65 2d 3e 60 20 61 6e 64 20 66 61 6d 69 6c 79 20 .rules.for.`-some->`.and.family.
63500 28 40 77 62 6f 6c 73 74 65 72 2c 20 23 33 32 31 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 7a 69 70 (@wbolster,.#321)..-.Added.`-zip
63520 2d 6c 69 73 74 73 60 20 77 68 69 63 68 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 61 20 6c -lists`.which.always.returns.a.l
63540 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 65 76 65 6e 0a 20 20 66 6f 72 20 ist.of.proper.lists,.even...for.
63560 74 77 6f 20 69 6e 70 75 74 20 6c 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 20 two.input.lists,.in.contrast.to.
63580 60 2d 7a 69 70 60 20 28 73 65 65 20 69 73 73 75 65 20 23 31 33 35 29 2e 0a 0a 23 23 23 20 46 72 `-zip`.(see.issue.#135)...###.Fr
635a0 6f 6d 20 32 2e 31 35 20 74 6f 20 32 2e 31 36 0a 0a 2d 20 41 64 64 65 64 20 60 2d 2d 64 6f 74 6f om.2.15.to.2.16..-.Added.`--doto
635c0 60 2c 20 61 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 64 6f 74 6f 60 20 `,.anaphoric.version.of.`-doto`.
635e0 28 23 32 38 32 29 2e 0a 2d 20 41 6c 69 61 73 65 64 20 60 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 60 (#282)..-.Aliased.`-cons-pair-p`
63600 20 74 6f 20 60 2d 63 6f 6e 73 2d 70 61 69 72 3f 60 20 28 23 32 38 38 29 2e 0a 2d 20 47 65 6e 65 .to.`-cons-pair?`.(#288)..-.Gene
63620 72 61 6c 69 7a 65 64 20 60 2d 72 6f 74 61 74 65 60 20 66 6f 72 20 60 7c 4e 7c 60 20 67 72 65 61 ralized.`-rotate`.for.`|N|`.grea
63640 74 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 20 ter.than.the.length.of.the.list.
63660 28 40 6c 65 75 6e 67 62 6b 2c 0a 20 20 23 32 39 30 29 2e 0a 2d 20 41 64 64 65 64 20 61 20 6d 65 (@leungbk,...#290)..-.Added.a.me
63680 63 68 61 6e 69 73 6d 20 74 6f 20 65 78 74 65 6e 64 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 chanism.to.extend.destructuring.
636a0 77 69 74 68 20 63 75 73 74 6f 6d 20 6d 61 74 63 68 65 72 73 20 28 40 79 79 6f 6e 63 68 6f 2c 0a with.custom.matchers.(@yyoncho,.
636c0 20 20 23 32 37 37 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 34 20 74 6f 20 32 2e 31 35 0a ..#277)...###.From.2.14.to.2.15.
636e0 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 62 72 69 6e 67 73 20 6e 65 77 20 64 65 73 74 72 75 63 .This.release.brings.new.destruc
63700 74 75 72 69 6e 67 20 66 65 61 74 75 72 65 73 2c 20 73 6f 6d 65 20 6e 65 77 20 63 6f 6e 74 72 6f turing.features,.some.new.contro
63720 6c 20 66 6c 6f 77 0a 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 l.flow.functions.and.performance
63740 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 74 71 60 .optimizations...-.Added.`-setq`
63760 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 62 69 6e 64 69 6e 67 20 73 75 70 70 .with.destructuring.binding.supp
63780 6f 72 74 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 60 2d 6c 65 74 60 20 66 61 6d 69 6c 79 ort.similar.to.the.`-let`.family
637a0 0a 20 20 28 23 31 31 36 29 2e 0a 2d 20 41 64 64 65 64 20 73 6d 61 72 74 65 72 20 6b 65 79 20 64 ...(#116)..-.Added.smarter.key.d
637c0 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 6e 20 60 2d 6c 65 74 60 20 61 6e 64 20 66 72 69 65 6e estructuring.in.`-let`.and.frien
637e0 64 73 20 77 68 65 72 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 0a 20 20 61 75 74 6f 2d 64 65 ds.where.variables.are...auto-de
63800 72 69 76 65 64 20 66 72 6f 6d 20 6b 65 79 73 20 28 23 31 31 31 29 2e 0a 2d 20 41 6c 6c 6f 77 65 rived.from.keys.(#111)..-.Allowe
63820 64 20 60 2d 6c 65 74 60 20 62 69 6e 64 69 6e 67 73 20 77 69 74 68 6f 75 74 20 61 20 73 6f 75 72 d.`-let`.bindings.without.a.sour
63840 63 65 20 76 61 6c 75 65 20 66 6f 72 6d 20 28 23 32 35 36 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d ce.value.form.(#256)..-.Added.`-
63860 65 61 63 68 2d 72 60 20 61 6e 64 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 20 28 40 64 6f each-r`.and.`-each-r-while`.(@do
63880 75 62 6c 65 70 2c 20 23 31 35 39 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 ublep,.#159)..-.Added.`-common-s
638a0 75 66 66 69 78 60 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 23 32 36 33 29 2e 0a 2d 20 49 uffix`.(@basil-conto,.#263)..-.I
638c0 6d 70 72 6f 76 65 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 66 20 66 6f 6c 64 73 20 28 60 2d mproved.performance.of.folds.(`-
638e0 72 65 64 75 63 65 60 20 61 6e 64 20 66 72 69 65 6e 64 73 29 20 28 40 62 61 73 69 6c 2d 63 6f 6e reduce`.and.friends).(@basil-con
63900 74 6f 2c 20 23 32 36 34 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 33 20 74 6f 20 32 2e 31 to,.#264)...###.From.2.13.to.2.1
63920 34 0a 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 72 65 74 69 72 65 64 20 45 6d 61 63 73 20 32 33 4..This.release.retired.Emacs.23
63940 20 73 75 70 70 6f 72 74 2e 0a 0a 2d 20 41 64 64 65 64 20 45 64 65 62 75 67 20 73 75 70 70 6f 72 .support...-.Added.Edebug.suppor
63960 74 20 66 6f 72 20 74 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 20 28 40 57 69 6c 66 72 65 64 t.for.threading.macros.(@Wilfred
63980 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 75 6e 7a 69 70 60 2e 0a 2d 20 41 64 64 65 64 20 73 75 70 )..-.Added.`-unzip`..-.Added.sup
639a0 70 6f 72 74 20 66 6f 72 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 20 61 6e 64 20 60 2d 6c 61 73 port.for.`-first-item`.and.`-las
639c0 74 2d 69 74 65 6d 60 20 61 73 20 5b 70 6c 61 63 65 0a 20 20 66 6f 72 6d 73 5d 28 68 74 74 70 73 t-item`.as.[place...forms](https
639e0 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c ://gnu.org/software/emacs/manual
63a00 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 47 65 6e 65 72 61 6c 69 7a 65 64 2d 56 61 72 /html_node/elisp/Generalized-Var
63a20 69 61 62 6c 65 73 2e 68 74 6d 6c 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 70 6f 77 65 72 73 65 74 iables.html)..-.Added.`-powerset
63a40 60 20 61 6e 64 20 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 60 20 28 40 68 6f 6c 6f 6d 6f 72 70 `.and.`-permutations`.(@holomorp
63a60 68 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 61 73 2d 3e 60 20 66 6f 72 20 74 68 72 65 61 64 69 6e h)..-.Added.`-as->`.for.threadin
63a80 67 20 61 20 6e 61 6d 65 64 20 76 61 72 69 61 62 6c 65 20 28 40 7a 63 6b 29 2e 0a 2d 20 41 64 64 g.a.named.variable.(@zck)..-.Add
63aa0 65 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 2c 20 60 2d 70 61 ed.`-partition-after-pred`,.`-pa
63ac0 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 60 2c 0a 20 20 60 2d 70 61 72 74 69 74 rtition-before-pred`,...`-partit
63ae0 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 60 2c 20 61 6e 64 20 60 2d 70 61 72 74 69 74 69 6f 6e ion-after-item`,.and.`-partition
63b00 2d 62 65 66 6f 72 65 2d 69 74 65 6d 60 20 28 40 7a 63 6b 29 2e 0a 2d 20 46 69 78 65 64 20 61 20 -before-item`.(@zck)..-.Fixed.a.
63b20 62 75 67 20 69 6e 20 60 2d 61 6e 79 2d 70 60 20 61 6e 64 20 66 72 69 65 6e 64 73 20 74 65 73 74 bug.in.`-any-p`.and.friends.test
63b40 69 6e 67 20 66 6f 72 20 60 6e 75 6c 6c 60 20 6f 6e 20 6c 69 73 74 73 20 63 6f 6e 74 61 69 6e 69 ing.for.`null`.on.lists.containi
63b60 6e 67 0a 20 20 60 6e 69 6c 60 20 28 23 32 33 39 29 2e 0a 2d 20 46 69 78 65 64 20 69 6e 66 69 6e ng...`nil`.(#239)..-.Fixed.infin
63b80 69 74 65 20 6c 6f 6f 70 20 62 75 67 20 69 6e 20 60 2d 7a 69 70 60 20 61 6e 64 20 60 2d 69 6e 74 ite.loop.bug.in.`-zip`.and.`-int
63ba0 65 72 6c 65 61 76 65 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 65 6d 70 74 79 0a erleave`.when.called.with.empty.
63bc0 20 20 69 6e 70 75 74 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 60 20 ..input..-.Added.`-second-item`.
63be0 74 68 72 6f 75 67 68 20 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 20 61 73 20 61 6c 74 65 72 6e 61 through.`-fifth-item`.as.alterna
63c00 74 69 76 65 73 20 74 6f 20 60 6e 74 68 60 0a 20 20 28 40 57 69 6c 66 72 65 64 29 2e 0a 2d 20 41 tives.to.`nth`...(@Wilfred)..-.A
63c20 64 64 65 64 20 60 2d 74 61 69 6c 73 60 20 61 6e 64 20 60 2d 69 6e 69 74 73 60 2e 0a 2d 20 41 64 dded.`-tails`.and.`-inits`..-.Ad
63c40 64 65 64 20 60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 60 20 61 6e 64 20 60 2d 72 75 6e 6e 69 6e 67 ded.`-running-sum`.and.`-running
63c60 2d 70 72 6f 64 75 63 74 60 2e 0a 2d 20 41 64 64 65 64 20 74 68 65 20 60 2d 72 65 64 75 63 74 69 -product`..-.Added.the.`-reducti
63c80 6f 6e 73 5b 2d 72 5d 5b 2d 66 72 6f 6d 5d 60 20 66 61 6d 69 6c 79 20 6f 66 20 66 75 6e 63 74 69 ons[-r][-from]`.family.of.functi
63ca0 6f 6e 73 20 28 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 60 20 62 75 74 0a 20 20 63 6f 6c 6c 65 63 ons.(like.`-reduce`.but...collec
63cc0 74 69 6e 67 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 73 29 2e 0a 2d 20 41 64 ting.intermediate.results)..-.Ad
63ce0 64 65 64 20 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 20 28 40 62 61 73 69 6c 2d 63 6f 6e ded.`-common-prefix`.(@basil-con
63d00 74 6f 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 32 20 74 6f 20 32 2e 31 33 0a 0a 2d 20 60 to)...###.From.2.12.to.2.13..-.`
63d20 2d 6c 65 74 60 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 60 26 61 6c 69 73 74 60 20 64 65 73 74 -let`.now.supports.`&alist`.dest
63d40 72 75 63 74 75 72 69 6e 67 2e 0a 2d 20 56 61 72 69 6f 75 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 ructuring..-.Various.performance
63d60 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 2d 20 60 2d 7a 69 70 60 20 6d 69 67 68 74 20 63 68 .improvements..-.`-zip`.might.ch
63d80 61 6e 67 65 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 73 65 20 74 6f 20 61 6c 77 61 ange.in.a.future.release.to.alwa
63da0 79 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 73 ys.return.a.list.of.proper...lis
63dc0 74 73 2e 20 20 41 64 64 65 64 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 75 73 65 72 73 ts...Added.`-zip-pair`.for.users
63de0 20 77 68 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 77 61 6e 74 20 74 68 65 20 6f 6c 64 20 62 65 68 .who.explicitly.want.the.old.beh
63e00 61 76 69 6f 72 2e 0a 2d 20 45 6e 61 62 6c 65 64 20 6c 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 avior..-.Enabled.lexical.binding
63e20 20 69 6e 20 60 64 61 73 68 2e 65 6c 60 20 66 6f 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 .in.`dash.el`.for.Emacs.versions
63e40 20 32 34 20 6f 72 20 6e 65 77 65 72 20 28 23 31 33 30 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 .24.or.newer.(#130)..-.Added.`-s
63e60 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 20 61 6e 64 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d elect-column`.and.`-select-colum
63e80 6e 73 60 2e 0a 2d 20 46 69 78 65 64 20 60 2d 6d 61 70 2d 6c 61 73 74 60 20 61 6e 64 20 60 2d 2d ns`..-.Fixed.`-map-last`.and.`--
63ea0 72 65 6d 6f 76 65 2d 6c 61 73 74 60 20 74 6f 20 62 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 remove-last`.to.be.non-destructi
63ec0 76 65 20 28 23 31 35 38 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 ve.(#158)..-.Added.`-each-indexe
63ee0 64 60 20 61 6e 64 20 60 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 2e 0a 2d 20 41 64 64 65 64 d`.and.`--each-indexed`..-.Added
63f00 20 60 2d 74 61 6b 65 2d 6c 61 73 74 60 20 61 6e 64 20 60 2d 64 72 6f 70 2d 6c 61 73 74 60 2e 0a .`-take-last`.and.`-drop-last`..
63f20 2d 20 41 64 64 65 64 20 74 68 65 20 60 2d 64 6f 74 6f 60 20 6d 61 63 72 6f 2e 0a 2d 20 60 2d 63 -.Added.the.`-doto`.macro..-.`-c
63f40 75 74 20 3c 3e 60 20 69 73 20 6e 6f 77 20 74 72 65 61 74 65 64 20 61 73 20 61 20 66 75 6e 63 74 ut.<>`.is.now.treated.as.a.funct
63f60 69 6f 6e 2c 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 5b 53 52 46 49 0a 20 20 32 36 5d ion,.consistent.with.[SRFI...26]
63f80 28 68 74 74 70 73 3a 2f 2f 73 72 66 69 2e 73 63 68 65 6d 65 72 73 2e 6f 72 67 2f 73 72 66 69 2d (https://srfi.schemers.org/srfi-
63fa0 32 36 2f 73 72 66 69 2d 32 36 2e 68 74 6d 6c 29 20 28 23 31 38 35 29 2e 0a 0a 23 23 23 20 46 72 26/srfi-26.html).(#185)...###.Fr
63fc0 6f 6d 20 32 2e 31 31 20 74 6f 20 32 2e 31 32 0a 0a 2d 20 41 64 64 65 64 20 47 4e 55 20 45 4c 50 om.2.11.to.2.12..-.Added.GNU.ELP
63fe0 41 20 73 75 70 70 6f 72 74 20 28 50 68 69 6c 6c 69 70 20 4c 6f 72 64 29 2e 0a 2d 20 41 64 64 65 A.support.(Phillip.Lord)..-.Adde
64000 64 20 60 2d 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c 20 61 6e 64 20 60 2d 73 d.`-some->`,.`-some->>`,.and.`-s
64020 6f 6d 65 2d 2d 3e 60 20 6d 61 63 72 6f 73 20 28 43 61 6d 20 53 61 75 6c 29 2e 0a 2d 20 60 2d 69 ome-->`.macros.(Cam.Saul)..-.`-i
64040 73 2d 73 75 66 66 69 78 3f 60 20 69 73 20 6e 6f 77 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 s-suffix?`.is.now.non-destructiv
64060 65 2e 0a 2d 20 46 61 73 74 65 72 20 68 61 73 68 20 74 61 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 e..-.Faster.hash.table.implement
64080 61 74 69 6f 6e 20 66 6f 72 20 60 2d 75 6e 69 6f 6e 60 2e 0a 2d 20 49 6d 70 72 6f 76 65 6d 65 6e ation.for.`-union`..-.Improvemen
640a0 74 73 20 74 6f 20 64 6f 63 73 74 72 69 6e 67 73 20 61 6e 64 20 65 78 61 6d 70 6c 65 73 2e 0a 0a ts.to.docstrings.and.examples...
640c0 23 23 23 20 46 72 6f 6d 20 32 2e 31 30 20 74 6f 20 32 2e 31 31 0a 0a 2d 20 4c 6f 74 73 20 6f 66 ###.From.2.10.to.2.11..-.Lots.of
640e0 20 63 6c 65 61 6e 20 75 70 20 77 2e 72 2e 74 2e 20 62 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f .clean.up.w.r.t..byte.compilatio
64100 6e 2c 20 64 65 62 75 67 20 6d 61 63 72 6f 73 2c 20 61 6e 64 20 74 65 73 74 73 2e 0a 0a 23 23 23 n,.debug.macros,.and.tests...###
64120 20 46 72 6f 6d 20 32 2e 39 20 74 6f 20 32 2e 31 30 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 65 74 .From.2.9.to.2.10..-.Added.`-let
64140 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 74 6f 20 60 2d 69 66 2d 6c 65 74 60 20 61 6e 64 `.destructuring.to.`-if-let`.and
64160 20 60 2d 77 68 65 6e 2d 6c 65 74 60 20 28 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 29 2e .`-when-let`.(Fredrik.Bergroth).
64180 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 38 20 74 6f 20 32 2e 39 0a 0a 2d 20 41 64 64 65 64 20 60 ..###.From.2.8.to.2.9..-.Added.`
641a0 2d 6c 65 74 60 2c 20 60 2d 6c 65 74 2a 60 2c 20 61 6e 64 20 60 2d 6c 61 6d 62 64 61 60 20 77 69 -let`,.`-let*`,.and.`-lambda`.wi
641c0 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 72 65 65 th.destructuring..-.Added.`-tree
641e0 2d 73 65 71 60 20 61 6e 64 20 60 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 60 2e 0a 2d 20 41 -seq`.and.`-tree-map-nodes`..-.A
64200 64 64 65 64 20 60 2d 6e 6f 6e 2d 6e 69 6c 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 78 60 2e dded.`-non-nil`..-.Added.`-fix`.
64220 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 78 66 6e 60 20 28 60 64 61 73 68 2d 66 75 6e 63 74 69 6f .-.Added.`-fixfn`.(`dash-functio
64240 6e 61 6c 60 20 76 65 72 73 69 6f 6e 20 60 31 2e 32 60 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 nal`.version.`1.2`)..-.Added.`-c
64260 6f 70 79 60 20 28 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 29 2e 0a 0a 23 23 23 20 46 72 6f 6d opy`.(Wilfred.Hughes)...###.From
64280 20 32 2e 37 20 74 6f 20 32 2e 38 0a 0a 2d 20 41 64 64 65 64 20 60 2d 62 75 74 6c 61 73 74 60 2e .2.7.to.2.8..-.Added.`-butlast`.
642a0 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 36 20 74 6f 20 32 2e 37 0a 0a 2d 20 60 2d 7a 69 70 60 20 ..###.From.2.6.to.2.7..-.`-zip`.
642c0 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 6c 69 73 74 73 now.supports.more.than.two.lists
642e0 20 28 53 74 65 76 65 20 4c 61 6d 62 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 79 63 6c 65 60 2c .(Steve.Lamb)..-.Added.`-cycle`,
64300 20 60 2d 70 61 64 60 2c 20 60 2d 61 6e 6e 6f 74 61 74 65 60 2c 20 61 6e 64 20 60 2d 7a 69 70 2d .`-pad`,.`-annotate`,.and.`-zip-
64320 66 69 6c 6c 60 20 28 53 74 65 76 65 20 4c 61 6d 62 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 61 fill`.(Steve.Lamb)..-.Added.`-ta
64340 62 6c 65 60 2c 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 20 28 66 69 6e 69 74 65 20 43 61 72 74 ble`,.`-table-flat`.(finite.Cart
64360 65 73 69 61 6e 20 70 72 6f 64 75 63 74 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 6c 61 74 74 65 esian.product)..-.Added.`-flatte
64380 6e 2d 6e 60 2e 0a 2d 20 60 2d 73 6c 69 63 65 60 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 61 20 n-n`..-.`-slice`.now.supports.a.
643a0 22 73 74 65 70 22 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 41 64 64 65 64 20 66 75 6e 63 74 69 6f "step".argument..-.Added.functio
643c0 6e 61 6c 20 63 6f 6d 62 69 6e 61 74 6f 72 73 20 60 2d 69 74 65 72 61 74 65 66 6e 60 20 61 6e 64 nal.combinators.`-iteratefn`.and
643e0 20 60 2d 70 72 6f 64 66 6e 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 70 6c 61 63 65 60 2c 20 .`-prodfn`..-.Added.`-replace`,.
64400 60 2d 73 70 6c 69 63 65 60 2c 20 61 6e 64 20 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 20 77 68 `-splice`,.and.`-splice-list`.wh
64420 69 63 68 20 67 65 6e 65 72 61 6c 69 7a 65 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 0a 20 20 61 ich.generalize.`-replace-at`...a
64440 6e 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 70 6f nd.`-insert-at`..-.Added.`-compo
64460 73 65 60 2c 20 60 2d 69 74 65 72 61 74 65 66 6e 60 2c 20 61 6e 64 20 60 2d 70 72 6f 64 66 6e 60 se`,.`-iteratefn`,.and.`-prodfn`
64480 20 28 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 20 76 65 72 73 69 6f 6e 0a 20 20 60 31 .(`dash-functional`.version...`1
644a0 2e 31 60 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 35 20 74 6f 20 32 2e 36 0a 0a 2d 20 41 64 .1`)...###.From.2.5.to.2.6..-.Ad
644c0 64 65 64 20 60 2d 69 73 2d 70 72 65 66 69 78 2d 70 60 2c 20 60 2d 69 73 2d 73 75 66 66 69 78 2d ded.`-is-prefix-p`,.`-is-suffix-
644e0 70 60 2c 20 61 6e 64 20 60 2d 69 73 2d 69 6e 66 69 78 2d 70 60 20 28 4d 61 74 75 73 20 47 6f 6c p`,.and.`-is-infix-p`.(Matus.Gol
64500 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 69 74 65 72 61 74 65 60 20 61 6e 64 20 60 2d 75 jer)..-.Added.`-iterate`.and.`-u
64520 6e 66 6f 6c 64 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 nfold`.(Matus.Goljer)..-.Added.`
64540 2d 73 70 6c 69 74 2d 6f 6e 60 20 61 6e 64 20 60 2d 73 70 6c 69 74 2d 77 68 65 6e 60 20 28 4d 61 -split-on`.and.`-split-when`.(Ma
64560 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 6e 64 2d 6c 61 73 74 tus.Goljer)..-.Added.`-find-last
64580 2d 69 6e 64 65 78 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 -index`.(Matus.Goljer)..-.Added.
645a0 60 2d 6c 69 73 74 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 0a 23 23 23 20 `-list`.(Johan.Andersson)...###.
645c0 46 72 6f 6d 20 32 2e 34 20 74 6f 20 32 2e 35 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 61 6d 65 2d From.2.4.to.2.5..-.Added.`-same-
645e0 69 74 65 6d 73 3f 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 2d 20 56 61 72 items?`.(Johan.Andersson)..-.Var
64600 69 6f 75 73 20 62 75 67 66 69 78 65 73 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 33 20 74 6f 20 ious.bugfixes...###.From.2.3.to.
64620 32 2e 34 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 6e 6f 63 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 2.4..-.Added.`-snoc`.(Matus.Golj
64640 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 2c 20 60 2d 75 70 er)..-.Added.`-replace-at`,.`-up
64660 64 61 74 65 2d 61 74 60 2c 20 60 2d 72 65 6d 6f 76 65 2d 61 74 60 2c 20 61 6e 64 20 60 2d 72 65 date-at`,.`-remove-at`,.and.`-re
64680 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 60 0a 20 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 move-at-indices`...(Matus.Goljer
646a0 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 32 20 74 6f 20 32 2e 33 0a 0a 2d 20 41 64 64 65 64 )...###.From.2.2.to.2.3..-.Added
646c0 20 74 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e .tree.operations.(Matus.Goljer).
646e0 0a 2d 20 4d 61 64 65 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 70 74 69 6f 6e 61 6c 2e 0a 0a 23 23 23 .-.Made.Font.Lock.optional...###
64700 20 46 72 6f 6d 20 32 2e 31 20 74 6f 20 32 2e 32 0a 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 70 .From.2.1.to.2.2..-.Added.`-comp
64720 6f 73 65 60 20 28 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 29 2e 0a 0a 23 23 23 20 46 72 6f ose`.(Christina.Whyte)...###.Fro
64740 6d 20 32 2e 30 20 74 6f 20 32 2e 31 0a 0a 2d 20 41 64 64 65 64 20 69 6e 64 65 78 69 6e 67 20 6f m.2.0.to.2.1..-.Added.indexing.o
64760 70 65 72 61 74 69 6f 6e 73 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 perations.(Matus.Goljer)...###.F
64780 72 6f 6d 20 31 2e 38 20 74 6f 20 32 2e 30 0a 0a 2d 20 53 70 6c 69 74 20 6f 75 74 20 60 64 61 73 rom.1.8.to.2.0..-.Split.out.`das
647a0 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e h-functional.el`.(Matus.Goljer).
647c0 0a 2d 20 41 64 64 65 64 20 60 2d 61 6e 64 66 6e 60 2c 20 60 2d 6f 72 66 6e 60 2c 20 60 2d 6e 6f .-.Added.`-andfn`,.`-orfn`,.`-no
647e0 74 60 2c 20 60 2d 63 75 74 60 2c 20 60 2d 63 6f 6e 73 74 60 2c 20 60 2d 66 6c 69 70 60 2c 20 61 t`,.`-cut`,.`-const`,.`-flip`,.a
64800 6e 64 20 60 2d 6f 6e 60 20 28 4d 61 74 75 73 0a 20 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 46 69 78 nd.`-on`.(Matus...Goljer)..-.Fix
64820 65 64 20 60 2d 6d 69 6e 60 2c 20 60 2d 6d 61 78 60 2c 20 60 2d 6d 69 6e 2d 62 79 60 2c 20 61 6e ed.`-min`,.`-max`,.`-min-by`,.an
64840 64 20 60 2d 6d 61 78 2d 62 79 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 d.`-max-by`.(Matus.Goljer)...###
64860 20 46 72 6f 6d 20 31 2e 37 20 74 6f 20 31 2e 38 0a 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 72 73 .From.1.7.to.1.8..-.Added.`-firs
64880 74 2d 69 74 65 6d 60 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 20 28 57 69 6c 66 72 65 t-item`.and.`-last-item`.(Wilfre
648a0 64 20 48 75 67 68 65 73 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 36 20 74 6f 20 31 2e 37 0a d.Hughes)...###.From.1.6.to.1.7.
648c0 0a 2d 20 41 64 64 65 64 20 60 2d 72 6f 74 61 74 65 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 .-.Added.`-rotate`.(Matus.Goljer
648e0 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 35 20 74 6f 20 31 2e 36 0a 0a 2d 20 41 64 64 65 64 )...###.From.1.5.to.1.6..-.Added
64900 20 60 2d 6d 69 6e 60 2c 20 60 2d 6d 61 78 60 2c 20 60 2d 6d 69 6e 2d 62 79 60 2c 20 61 6e 64 20 .`-min`,.`-max`,.`-min-by`,.and.
64920 60 2d 6d 61 78 2d 62 79 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 0a 23 23 `-max-by`.(Johan.Andersson)...##
64940 23 20 46 72 6f 6d 20 31 2e 34 20 74 6f 20 31 2e 35 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 75 6d #.From.1.4.to.1.5..-.Added.`-sum
64960 60 20 61 6e 64 20 60 2d 70 72 6f 64 75 63 74 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f `.and.`-product`.(Johan.Andersso
64980 6e 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 33 20 74 6f 20 31 2e 34 0a 0a 2d 20 41 64 64 65 n)...###.From.1.3.to.1.4..-.Adde
649a0 64 20 60 2d 73 6f 72 74 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 64 75 63 65 2d 72 60 20 28 d.`-sort`..-.Added.`-reduce-r`.(
649c0 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 64 75 63 65 2d Matus.Goljer)..-.Added.`-reduce-
649e0 72 2d 66 72 6f 6d 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f r-from`.(Matus.Goljer)...###.Fro
64a00 6d 20 31 2e 32 20 74 6f 20 31 2e 33 0a 0a 2d 20 41 64 64 65 64 20 60 2d 70 61 72 74 69 74 69 6f m.1.2.to.1.3..-.Added.`-partitio
64a20 6e 2d 69 6e 2d 73 74 65 70 73 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 70 61 72 74 69 74 69 6f 6e n-in-steps`..-.Added.`-partition
64a40 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 60 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 31 20 74 6f -all-in-steps`...###.From.1.1.to
64a60 20 31 2e 32 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 61 73 74 60 20 28 4d 61 74 75 73 20 47 6f 6c .1.2..-.Added.`-last`.(Matus.Gol
64a80 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 20 28 45 6d 61 6e jer)..-.Added.`-insert-at`.(Eman
64aa0 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 77 68 65 6e 2d 6c 65 74 60 20 uel.Evans)..-.Added.`-when-let`.
64ac0 61 6e 64 20 60 2d 69 66 2d 6c 65 74 60 20 28 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d and.`-if-let`.(Emanuel.Evans)..-
64ae0 20 41 64 64 65 64 20 60 2d 77 68 65 6e 2d 6c 65 74 2a 60 20 61 6e 64 20 60 2d 69 66 2d 6c 65 74 .Added.`-when-let*`.and.`-if-let
64b00 2a 60 20 28 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d 20 56 61 72 69 6f 75 73 20 62 75 *`.(Emanuel.Evans)..-.Various.bu
64b20 67 66 69 78 65 73 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 gfixes...##.License..This.progra
64b40 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 m.is.free.software:.you.can.redi
64b60 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 stribute.it.and/or.modify.it.und
64b80 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
64ba0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 Public.License.as.published.by.t
64bc0 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 he.Free.Software.Foundation,.eit
64be0 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 her.version.3.of.the.License,.or
64c00 0a 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 .(at.your.option).any.later.vers
64c20 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 ion...This.program.is.distribute
64c40 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 d.in.the.hope.that.it.will.be.us
64c60 65 66 75 6c 2c 0a 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 eful,.but.WITHOUT.ANY.WARRANTY;.
64c80 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 without.even.the.implied.warrant
64ca0 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 y.of.MERCHANTABILITY.or.FITNESS.
64cc0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
64ce0 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f he.GNU.General.Public.License.fo
64d00 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 r.more.details...You.should.have
64d20 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 .received.a.copy.of.the.GNU.Gene
64d40 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 ral.Public.License.along.with.th
64d60 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a is.program...If.not,.see.<https:
64d80 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 //www.gnu.org/licenses/>........
64da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/README.md...........
64e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
64e80 30 33 33 31 31 35 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 33 36 00 20 30 00 00 00 0331153.00000000000.012436..0...
64ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
64f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
64f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65000 5b 21 5b 43 49 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 [![CI](https://github.com/magnar
65020 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 s/dash.el/actions/workflows/test
65040 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .yml/badge.svg)](https://github.
65060 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b com/magnars/dash.el/actions/work
65080 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 flows/test.yml).[![GNU.ELPA](htt
650a0 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2e ps://elpa.gnu.org/packages/dash.
650c0 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 svg)](https://elpa.gnu.org/packa
650e0 67 65 73 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 ges/dash.html).[![GNU-devel.ELPA
65100 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 64 61 73 ](https://elpa.gnu.org/devel/das
65120 68 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 h.svg)](https://elpa.gnu.org/dev
65140 65 6c 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 el/dash.html).[![MELPA.Stable](h
65160 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 ttps://stable.melpa.org/packages
65180 2f 64 61 73 68 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 /dash-badge.svg)](https://stable
651a0 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 68 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 .melpa.org/#/dash).[![MELPA](htt
651c0 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2d 62 61 64 ps://melpa.org/packages/dash-bad
651e0 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 ge.svg)](https://melpa.org/#/das
65200 68 29 0a 0a 23 20 3c 69 6d 67 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 73 72 63 3d 22 72 61 h)..#.<img.align="right".src="ra
65220 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 22 3e 20 64 61 73 68 2e 65 6c 0a 0a 41 20 6d 6f 64 65 inbow-dash.png">.dash.el..A.mode
65240 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 20 20 4e 6f 0a 5b 60 27 63 6c rn.list.API.for.Emacs...No.[`'cl
65260 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
65280 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 63 6c 2f 29 20 72 65 71 75 69 72 65 64 s/manual/html_node/cl/).required
652a0 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 6c ...See.the.end.of.the.file.for.l
652c0 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 6f 6e 74 65 6e 74 73 0a icense.conditions...##.Contents.
652e0 0a 2a 20 5b 43 68 61 6e 67 65 20 6c 6f 67 5d 28 23 63 68 61 6e 67 65 2d 6c 6f 67 29 0a 2a 20 5b .*.[Change.log](#change-log).*.[
65300 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 5d 28 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 0a 2a 20 5b Installation](#installation).*.[
65320 46 75 6e 63 74 69 6f 6e 73 5d 28 23 66 75 6e 63 74 69 6f 6e 73 29 0a 2a 20 5b 43 6f 6e 74 72 69 Functions](#functions).*.[Contri
65340 62 75 74 65 5d 28 23 63 6f 6e 74 72 69 62 75 74 65 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 6f bute](#contribute).*.[Contributo
65360 72 73 5d 28 23 63 6f 6e 74 72 69 62 75 74 6f 72 73 29 0a 2a 20 5b 4c 69 63 65 6e 73 65 5d 28 23 rs](#contributors).*.[License](#
65380 6c 69 63 65 6e 73 65 29 0a 0a 23 23 20 43 68 61 6e 67 65 20 6c 6f 67 0a 0a 53 65 65 20 74 68 65 license)..##.Change.log..See.the
653a0 20 5b 60 4e 45 57 53 2e 6d 64 60 5d 28 4e 45 57 53 2e 6d 64 29 20 66 69 6c 65 2e 0a 0a 23 23 20 .[`NEWS.md`](NEWS.md).file...##.
653c0 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 Installation..Dash.is.available.
653e0 6f 6e 20 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f on.[GNU.ELPA](https://elpa.gnu.o
65400 72 67 2f 29 2c 20 5b 47 4e 55 2d 64 65 76 65 6c 0a 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 rg/),.[GNU-devel.ELPA](https://e
65420 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 5b 4d 45 4c 50 41 5d lpa.gnu.org/devel/),.and.[MELPA]
65440 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 0a 61 6e 64 20 63 61 6e 20 62 65 (https://melpa.org/),.and.can.be
65460 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 6f 6d .installed.with.the.standard.com
65480 6d 61 6e 64 20 60 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 60 3a 0a 0a 20 20 20 20 4d 2d 78 mand.`package-install`:......M-x
654a0 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 52 45 54 20 64 61 73 68 20 52 45 54 0a 0a 53 .package-install.RET.dash.RET..S
654c0 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 50 61 63 6b 61 67 65 0a 49 6e 73 74 ee.[`(info."(emacs).Package.Inst
654e0 61 6c 6c 61 74 69 6f 6e 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 allation")`](https://gnu.org/sof
65500 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 tware/emacs/manual/html_node/ema
65520 63 73 2f 50 61 63 6b 61 67 65 2d 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 68 74 6d 6c 29 2e 0a 0a cs/Package-Installation.html)...
65540 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 Alternatively,.you.can.just.dump
65560 20 60 64 61 73 68 2e 65 6c 60 20 69 6e 20 79 6f 75 72 20 60 6c 6f 61 64 2d 70 61 74 68 60 0a 73 .`dash.el`.in.your.`load-path`.s
65580 6f 6d 65 77 68 65 72 65 2e 20 20 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 omewhere...See.[`(info."(emacs).
655a0 4c 69 73 70 0a 4c 69 62 72 61 72 69 65 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f Lisp.Libraries")`](https://gnu.o
655c0 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f rg/software/emacs/manual/html_no
655e0 64 65 2f 65 6d 61 63 73 2f 4c 69 73 70 2d 4c 69 62 72 61 72 69 65 73 2e 68 74 6d 6c 29 2e 0a 0a de/emacs/Lisp-Libraries.html)...
65600 23 23 23 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 41 64 64 20 73 6f 6d 65 ###.Using.in.a.package..Add.some
65620 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 thing.like.this.to.the.library's
65640 20 68 65 61 64 65 72 73 3a 0a 0a 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 .headers:......;;.Package-Requir
65660 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 32 30 2e 30 22 29 29 0a 0a 53 65 65 20 5b 60 28 69 6e es:.((dash."2.20.0"))..See.[`(in
65680 66 6f 20 22 28 65 6c 69 73 70 29 20 4c 69 62 72 61 72 79 0a 48 65 61 64 65 72 73 22 29 60 5d 28 fo."(elisp).Library.Headers")`](
656a0 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d https://gnu.org/software/emacs/m
656c0 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 4c 69 62 72 61 72 79 2d 48 65 anual/html_node/elisp/Library-He
656e0 61 64 65 72 73 2e 68 74 6d 6c 29 2e 0a 0a 23 23 23 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 aders.html)...###.Fontification.
65700 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 46 6f 6e 74 20 6c 6f 63 6b 20 of.special.variables..Font.lock.
65720 6f 66 20 73 70 65 63 69 61 6c 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 60 69 74 60 2c of.special.Dash.variables.(`it`,
65740 20 60 61 63 63 60 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 0a 62 75 66 66 .`acc`,.etc.).in.Emacs.Lisp.buff
65760 65 72 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20 77 69 ers.can.optionally.be.enabled.wi
65780 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 0a 60 64 61 th.the.autoloaded.minor.mode.`da
657a0 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e 20 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 sh-fontify-mode`...In.older.Emac
657c0 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 s.versions.which.do.not.dynamica
657e0 6c 6c 79 0a 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 lly.detect.macros,.the.minor.mod
65800 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c e.also.fontifies.Dash.macro.call
65820 73 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 s...To.automatically.enable.the.
65840 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 minor.mode.in.all.Emacs.Lisp.buf
65860 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 fers,.just.call.its.autoloaded.g
65880 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 lobal.counterpart.`global-dash-f
658a0 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 ontify-mode`,.either.interactive
658c0 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 ly.or.from.your.`user-init-file`
658e0 3a 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f :..```el.(global-dash-fontify-mo
65900 64 65 29 0a 60 60 60 0a 0a 23 23 23 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a de).```..###.Info.symbol.lookup.
65920 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 .While.editing.Elisp.files,.you.
65940 63 61 6e 20 75 73 65 20 60 43 2d 68 20 53 60 20 28 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 can.use.`C-h.S`.(`info-lookup-sy
65960 6d 62 6f 6c 60 29 0a 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 79 6d 62 6f 6c 73 20 mbol`).to.look.up.Elisp.symbols.
65980 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 73 20 28 73 65 in.the.relevant.Info.manuals.(se
659a0 65 20 5b 60 28 65 6d 61 63 73 29 0a 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 60 5d 28 68 74 74 70 73 3a e.[`(emacs).Info.Lookup`](https:
659c0 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f //gnu.org/software/emacs/manual/
659e0 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 49 6e 66 6f 2d 4c 6f 6f 6b 75 70 2e 68 74 6d 6c html_node/emacs/Info-Lookup.html
65a00 29 29 2e 0a 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 ))..To.enable.the.same.for.Dash.
65a20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 60 64 61 73 68 2d 72 symbols,.use.the.command.`dash-r
65a40 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 60 2e 20 20 49 74 20 63 61 6e 20 62 65 egister-info-lookup`...It.can.be
65a60 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2c 0a 6f 72 .called.directly.when.needed,.or
65a80 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 .automatically.from.your.`user-i
65aa0 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a nit-file`...For.example:..```el.
65ac0 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f 6b (with-eval-after-load.'info-look
65ae0 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a ...(dash-register-info-lookup)).
65b00 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 ```..##.Functions..All.functions
65b20 20 61 6e 64 20 63 6f 6e 73 74 72 75 63 74 73 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 75 .and.constructs.in.the.library.u
65b40 73 65 20 61 20 64 61 73 68 20 28 60 2d 60 29 20 70 72 65 66 69 78 2e 0a 0a 54 68 65 20 6c 69 62 se.a.dash.(`-`).prefix...The.lib
65b60 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 rary.also.provides.anaphoric.mac
65b80 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 ro.versions.of.functions.where.t
65ba0 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 hat.makes.sense...The.names.of.t
65bc0 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 hese.macros.are.prefixed.with.tw
65be0 6f 0a 64 61 73 68 65 73 20 28 60 2d 2d 60 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a o.dashes.(`--`).instead.of.one..
65c00 0a 57 68 69 6c 65 20 60 2d 6d 61 70 60 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e .While.`-map`.applies.a.function
65c20 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 0a .to.each.element.of.a.list,.its.
65c40 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 2d 2d 6d 61 70 60 20 65 76 anaphoric.counterpart.`--map`.ev
65c60 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 aluates.a.form.with.the.local.va
65c80 72 69 61 62 6c 65 0a 60 69 74 60 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 20 74 6f riable.`it`.temporarily.bound.to
65ca0 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 65 61 .the.current.list.element.instea
65cc0 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 20 28 6c d...For.example:..```el.(-map.(l
65ce0 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b ambda.(n).(*.n.n)).'(1.2.3.4)).;
65d00 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 .Normal.version..(--map.(*.it.it
65d20 29 20 27 28 31 20 32 20 33 20 34 29 29 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 6e 61 70 68 6f ).'(1.2.3.4))...........;.Anapho
65d40 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 60 60 60 0a 0a 54 68 65 20 6e 6f 72 6d 61 6c 20 76 65 72 ric.version..```..The.normal.ver
65d60 73 69 6f 6e 20 63 61 6e 20 6f 66 20 63 6f 75 72 73 65 20 61 6c 73 6f 20 62 65 20 77 72 69 74 74 sion.can.of.course.also.be.writt
65d80 65 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 60 60 60 65 6c 0a 28 64 65 66 75 6e 20 6d 79 2d en.as.follows:..```el.(defun.my-
65da0 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 square.(n)..."Return.N.multiplie
65dc0 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 d.by.itself."...(*.n.n))..(-map.
65de0 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 60 60 60 0a 0a 54 68 69 #'my-square.'(1.2.3.4)).```..Thi
65e00 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f s.demonstrates.the.utility.of.bo
65e20 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 23 23 23 20 4d 61 70 73 0a 0a 46 75 6e 63 74 69 6f 6e th.versions...###.Maps..Function
65e40 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 s.in.this.category.take.a.transf
65e60 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 0a 69 73 20 74 68 65 6e 20 61 orming.function,.which.is.then.a
65e80 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 pplied.sequentially.to.each.or.s
65ea0 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 elected.elements.of.the.input.li
65ec0 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 st...The.results.are.collected.i
65ee0 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 6e 65 77 20 6c 69 n.order.and.returned.as.a.new.li
65f00 73 74 2e 0a 0a 2a 20 5b 60 2d 6d 61 70 60 5d 28 23 2d 6d 61 70 2d 66 6e 2d 6c 69 73 74 29 20 60 st...*.[`-map`](#-map-fn-list).`
65f20 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 (fn.list)`.*.[`-map-when`](#-map
65f40 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 20 -when-pred-rep-list).`(pred.rep.
65f60 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 list)`.*.[`-map-first`](#-map-fi
65f80 72 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 rst-pred-rep-list).`(pred.rep.li
65fa0 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d st)`.*.[`-map-last`](#-map-last-
65fc0 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 60 pred-rep-list).`(pred.rep.list)`
65fe0 0a 2a 20 5b 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 6d 61 70 2d 69 6e 64 65 78 65 .*.[`-map-indexed`](#-map-indexe
66000 64 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 61 6e 6e 6f d-fn-list).`(fn.list)`.*.[`-anno
66020 74 61 74 65 60 5d 28 23 2d 61 6e 6e 6f 74 61 74 65 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 tate`](#-annotate-fn-list).`(fn.
66040 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 63 65 60 5d 28 23 2d 73 70 6c 69 63 65 2d 70 72 list)`.*.[`-splice`](#-splice-pr
66060 65 64 2d 66 75 6e 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 60 0a 2a ed-fun-list).`(pred.fun.list)`.*
66080 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 73 74 2d .[`-splice-list`](#-splice-list-
660a0 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6e 65 77 2d 6c pred-new-list-list).`(pred.new-l
660c0 69 73 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 63 61 74 60 5d 28 23 2d 6d 61 70 63 61 ist.list)`.*.[`-mapcat`](#-mapca
660e0 74 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 6f 70 79 t-fn-list).`(fn.list)`.*.[`-copy
66100 60 5d 28 23 2d 63 6f 70 79 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 0a 23 23 23 20 53 75 `](#-copy-list).`(list)`..###.Su
66120 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 blist.selection..Functions.retur
66140 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c ning.a.sublist.of.the.original.l
66160 69 73 74 2e 0a 0a 2a 20 5b 60 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 ist...*.[`-filter`](#-filter-pre
66180 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 d-list).`(pred.list)`.*.[`-remov
661a0 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c e`](#-remove-pred-list).`(pred.l
661c0 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 65 6d 6f ist)`.*.[`-remove-first`](#-remo
661e0 76 65 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 ve-first-pred-list).`(pred.list)
66200 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 6c 61 `.*.[`-remove-last`](#-remove-la
66220 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 st-pred-list).`(pred.list)`.*.[`
66240 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 2d 69 74 65 -remove-item`](#-remove-item-ite
66260 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6e 6f 6e 2d 6e m-list).`(item.list)`.*.[`-non-n
66280 69 6c 60 5d 28 23 2d 6e 6f 6e 2d 6e 69 6c 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 il`](#-non-nil-list).`(list)`.*.
662a0 5b 60 2d 73 6c 69 63 65 60 5d 28 23 2d 73 6c 69 63 65 2d 6c 69 73 74 2d 66 72 6f 6d 2d 6f 70 74 [`-slice`](#-slice-list-from-opt
662c0 69 6f 6e 61 6c 2d 74 6f 2d 73 74 65 70 29 20 60 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 ional-to-step).`(list.from.&opti
662e0 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 60 0a 2a 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d 74 61 6b onal.to.step)`.*.[`-take`](#-tak
66300 65 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 74 61 6b 65 2d 6c e-n-list).`(n.list)`.*.[`-take-l
66320 61 73 74 60 5d 28 23 2d 74 61 6b 65 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 ast`](#-take-last-n-list).`(n.li
66340 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 74 29 20 st)`.*.[`-drop`](#-drop-n-list).
66360 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 2d 6c 61 73 74 60 5d 28 23 2d 64 72 `(n.list)`.*.[`-drop-last`](#-dr
66380 6f 70 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d op-last-n-list).`(n.list)`.*.[`-
663a0 74 61 6b 65 2d 77 68 69 6c 65 60 5d 28 23 2d 74 61 6b 65 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c take-while`](#-take-while-pred-l
663c0 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 2d 77 68 69 ist).`(pred.list)`.*.[`-drop-whi
663e0 6c 65 60 5d 28 23 2d 64 72 6f 70 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 le`](#-drop-while-pred-list).`(p
66400 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 red.list)`.*.[`-select-by-indice
66420 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d s`](#-select-by-indices-indices-
66440 6c 69 73 74 29 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 6c 65 list).`(indices.list)`.*.[`-sele
66460 63 74 2d 63 6f 6c 75 6d 6e 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 2d 63 6f ct-columns`](#-select-columns-co
66480 6c 75 6d 6e 73 2d 74 61 62 6c 65 29 20 60 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 60 0a 2a lumns-table).`(columns.table)`.*
664a0 20 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c .[`-select-column`](#-select-col
664c0 75 6d 6e 2d 63 6f 6c 75 6d 6e 2d 74 61 62 6c 65 29 20 60 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 umn-column-table).`(column.table
664e0 29 60 0a 0a 23 23 23 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 )`..###.List.to.list..Functions.
66500 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 returning.a.modified.copy.of.the
66520 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 .input.list...*.[`-keep`](#-keep
66540 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 6f 6e 63 61 -fn-list).`(fn.list)`.*.[`-conca
66560 74 60 5d 28 23 2d 63 6f 6e 63 61 74 2d 72 65 73 74 2d 73 65 71 75 65 6e 63 65 73 29 20 60 28 26 t`](#-concat-rest-sequences).`(&
66580 72 65 73 74 20 73 65 71 75 65 6e 63 65 73 29 60 0a 2a 20 5b 60 2d 66 6c 61 74 74 65 6e 60 5d 28 rest.sequences)`.*.[`-flatten`](
665a0 23 2d 66 6c 61 74 74 65 6e 2d 6c 29 20 60 28 6c 29 60 0a 2a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d #-flatten-l).`(l)`.*.[`-flatten-
665c0 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 20 60 28 6e 75 6d 20 n`](#-flatten-n-num-list).`(num.
665e0 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 70 6c 61 63 65 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d list)`.*.[`-replace`](#-replace-
66600 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 2a old-new-list).`(old.new.list)`.*
66620 20 5b 60 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 66 69 .[`-replace-first`](#-replace-fi
66640 72 73 74 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 rst-old-new-list).`(old.new.list
66660 29 60 0a 2a 20 5b 60 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 )`.*.[`-replace-last`](#-replace
66680 2d 6c 61 73 74 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 -last-old-new-list).`(old.new.li
666a0 73 74 29 60 0a 2a 20 5b 60 2d 69 6e 73 65 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 st)`.*.[`-insert-at`](#-insert-a
666c0 74 2d 6e 2d 78 2d 6c 69 73 74 29 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 t-n-x-list).`(n.x.list)`.*.[`-re
666e0 70 6c 61 63 65 2d 61 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 place-at`](#-replace-at-n-x-list
66700 29 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 75 70 64 61 74 65 2d 61 74 60 5d 28 ).`(n.x.list)`.*.[`-update-at`](
66720 23 2d 75 70 64 61 74 65 2d 61 74 2d 6e 2d 66 75 6e 63 2d 6c 69 73 74 29 20 60 28 6e 20 66 75 6e #-update-at-n-func-list).`(n.fun
66740 63 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 60 5d 28 23 2d 72 65 6d 6f c.list)`.*.[`-remove-at`](#-remo
66760 76 65 2d 61 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 ve-at-n-list).`(n.list)`.*.[`-re
66780 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e move-at-indices`](#-remove-at-in
667a0 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 20 60 28 69 6e 64 69 63 65 73 20 6c 69 dices-indices-list).`(indices.li
667c0 73 74 29 60 0a 0a 23 23 23 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 st)`..###.Reductions..Functions.
667e0 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 reducing.lists.to.a.single.value
66800 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a 0a 2a 20 .(which.may.also.be.a.list)...*.
66820 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d 2d 66 [`-reduce-from`](#-reduce-from-f
66840 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 n-init-list).`(fn.init.list)`.*.
66860 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 72 [`-reduce-r-from`](#-reduce-r-fr
66880 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 om-fn-init-list).`(fn.init.list)
668a0 60 0a 2a 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 `.*.[`-reduce`](#-reduce-fn-list
668c0 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d ).`(fn.list)`.*.[`-reduce-r`](#-
668e0 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 reduce-r-fn-list).`(fn.list)`.*.
66900 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e [`-reductions-from`](#-reduction
66920 73 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c s-from-fn-init-list).`(fn.init.l
66940 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 5d 28 23 ist)`.*.[`-reductions-r-from`](#
66960 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 -reductions-r-from-fn-init-list)
66980 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e .`(fn.init.list)`.*.[`-reduction
669a0 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c s`](#-reductions-fn-list).`(fn.l
669c0 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 ist)`.*.[`-reductions-r`](#-redu
669e0 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 ctions-r-fn-list).`(fn.list)`.*.
66a00 5b 60 2d 63 6f 75 6e 74 60 5d 28 23 2d 63 6f 75 6e 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 [`-count`](#-count-pred-list).`(
66a20 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 75 6d 60 5d 28 23 2d 73 75 6d 2d 6c 69 73 pred.list)`.*.[`-sum`](#-sum-lis
66a40 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 60 5d 28 23 t).`(list)`.*.[`-running-sum`](#
66a60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 -running-sum-list).`(list)`.*.[`
66a80 2d 70 72 6f 64 75 63 74 60 5d 28 23 2d 70 72 6f 64 75 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 -product`](#-product-list).`(lis
66aa0 74 29 60 0a 2a 20 5b 60 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 60 5d 28 23 2d 72 75 6e t)`.*.[`-running-product`](#-run
66ac0 6e 69 6e 67 2d 70 72 6f 64 75 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 ning-product-list).`(list)`.*.[`
66ae0 2d 69 6e 69 74 73 60 5d 28 23 2d 69 6e 69 74 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a -inits`](#-inits-list).`(list)`.
66b00 2a 20 5b 60 2d 74 61 69 6c 73 60 5d 28 23 2d 74 61 69 6c 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 *.[`-tails`](#-tails-list).`(lis
66b20 74 29 60 0a 2a 20 5b 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 5d 28 23 2d 63 6f 6d 6d 6f t)`.*.[`-common-prefix`](#-commo
66b40 6e 2d 70 72 65 66 69 78 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 n-prefix-rest-lists).`(&rest.lis
66b60 74 73 29 60 0a 2a 20 5b 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 5d 28 23 2d 63 6f 6d 6d ts)`.*.[`-common-suffix`](#-comm
66b80 6f 6e 2d 73 75 66 66 69 78 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 on-suffix-rest-lists).`(&rest.li
66ba0 73 74 73 29 60 0a 2a 20 5b 60 2d 6d 69 6e 60 5d 28 23 2d 6d 69 6e 2d 6c 69 73 74 29 20 60 28 6c sts)`.*.[`-min`](#-min-list).`(l
66bc0 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 69 6e 2d 62 79 60 5d 28 23 2d 6d 69 6e 2d 62 79 2d 63 6f 6d ist)`.*.[`-min-by`](#-min-by-com
66be0 70 61 72 61 74 6f 72 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 parator-list).`(comparator.list)
66c00 60 0a 2a 20 5b 60 2d 6d 61 78 60 5d 28 23 2d 6d 61 78 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 `.*.[`-max`](#-max-list).`(list)
66c20 60 0a 2a 20 5b 60 2d 6d 61 78 2d 62 79 60 5d 28 23 2d 6d 61 78 2d 62 79 2d 63 6f 6d 70 61 72 61 `.*.[`-max-by`](#-max-by-compara
66c40 74 6f 72 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 tor-list).`(comparator.list)`.*.
66c60 5b 60 2d 66 72 65 71 75 65 6e 63 69 65 73 60 5d 28 23 2d 66 72 65 71 75 65 6e 63 69 65 73 2d 6c [`-frequencies`](#-frequencies-l
66c80 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 0a 23 23 23 20 55 6e 66 6f 6c 64 69 6e 67 0a 0a 4f 70 ist).`(list)`..###.Unfolding..Op
66ca0 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 69 erations.dual.to.reductions,.bui
66cc0 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 61 6c 75 65 20 72 61 lding.lists.from.a.seed.value.ra
66ce0 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 72 ther.than.consuming.a.list.to.pr
66d00 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 2a 20 5b 60 2d 69 74 65 72 oduce.a.single.value...*.[`-iter
66d20 61 74 65 60 5d 28 23 2d 69 74 65 72 61 74 65 2d 66 75 6e 2d 69 6e 69 74 2d 6e 29 20 60 28 66 75 ate`](#-iterate-fun-init-n).`(fu
66d40 6e 20 69 6e 69 74 20 6e 29 60 0a 2a 20 5b 60 2d 75 6e 66 6f 6c 64 60 5d 28 23 2d 75 6e 66 6f 6c n.init.n)`.*.[`-unfold`](#-unfol
66d60 64 2d 66 75 6e 2d 73 65 65 64 29 20 60 28 66 75 6e 20 73 65 65 64 29 60 0a 2a 20 5b 60 2d 72 65 d-fun-seed).`(fun.seed)`.*.[`-re
66d80 70 65 61 74 60 5d 28 23 2d 72 65 70 65 61 74 2d 6e 2d 78 29 20 60 28 6e 20 78 29 60 0a 2a 20 5b peat`](#-repeat-n-x).`(n.x)`.*.[
66da0 60 2d 63 79 63 6c 65 60 5d 28 23 2d 63 79 63 6c 65 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 `-cycle`](#-cycle-list).`(list)`
66dc0 0a 0a 23 23 23 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 ..###.Predicates..Reductions.of.
66de0 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 one.or.more.lists.to.a.boolean.v
66e00 61 6c 75 65 2e 0a 0a 2a 20 5b 60 2d 73 6f 6d 65 60 5d 28 23 2d 73 6f 6d 65 2d 70 72 65 64 2d 6c alue...*.[`-some`](#-some-pred-l
66e20 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 65 76 65 72 79 60 5d 28 ist).`(pred.list)`.*.[`-every`](
66e40 23 2d 65 76 65 72 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 #-every-pred-list).`(pred.list)`
66e60 0a 2a 20 5b 60 2d 61 6e 79 3f 60 5d 28 23 2d 61 6e 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 .*.[`-any?`](#-any-pred-list).`(
66e80 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 61 6c 6c 3f 60 5d 28 23 2d 61 6c 6c 2d 70 72 pred.list)`.*.[`-all?`](#-all-pr
66ea0 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6e 6f 6e 65 ed-list).`(pred.list)`.*.[`-none
66ec0 3f 60 5d 28 23 2d 6e 6f 6e 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 ?`](#-none-pred-list).`(pred.lis
66ee0 74 29 60 0a 2a 20 5b 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 60 5d 28 23 2d 6f 6e 6c 79 2d 73 6f 6d t)`.*.[`-only-some?`](#-only-som
66f00 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d e-pred-list).`(pred.list)`.*.[`-
66f20 63 6f 6e 74 61 69 6e 73 3f 60 5d 28 23 2d 63 6f 6e 74 61 69 6e 73 2d 6c 69 73 74 2d 65 6c 65 6d contains?`](#-contains-list-elem
66f40 65 6e 74 29 20 60 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 70 72 ent).`(list.element)`.*.[`-is-pr
66f60 65 66 69 78 3f 60 5d 28 23 2d 69 73 2d 70 72 65 66 69 78 2d 70 72 65 66 69 78 2d 6c 69 73 74 29 efix?`](#-is-prefix-prefix-list)
66f80 20 60 28 70 72 65 66 69 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 73 75 66 66 69 78 3f .`(prefix.list)`.*.[`-is-suffix?
66fa0 60 5d 28 23 2d 69 73 2d 73 75 66 66 69 78 2d 73 75 66 66 69 78 2d 6c 69 73 74 29 20 60 28 73 75 `](#-is-suffix-suffix-list).`(su
66fc0 66 66 69 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 69 6e 66 69 78 3f 60 5d 28 23 2d 69 ffix.list)`.*.[`-is-infix?`](#-i
66fe0 73 2d 69 6e 66 69 78 2d 69 6e 66 69 78 2d 6c 69 73 74 29 20 60 28 69 6e 66 69 78 20 6c 69 73 74 s-infix-infix-list).`(infix.list
67000 29 60 0a 2a 20 5b 60 2d 63 6f 6e 73 2d 70 61 69 72 3f 60 5d 28 23 2d 63 6f 6e 73 2d 70 61 69 72 )`.*.[`-cons-pair?`](#-cons-pair
67020 2d 6f 62 6a 29 20 60 28 6f 62 6a 29 60 0a 0a 23 23 23 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a -obj).`(obj)`..###.Partitioning.
67040 0a 46 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 .Functions.partitioning.the.inpu
67060 74 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 2a 20 t.list.into.a.list.of.lists...*.
67080 5b 60 2d 73 70 6c 69 74 2d 61 74 60 5d 28 23 2d 73 70 6c 69 74 2d 61 74 2d 6e 2d 6c 69 73 74 29 [`-split-at`](#-split-at-n-list)
670a0 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 2d 77 69 74 68 60 5d 28 23 2d .`(n.list)`.*.[`-split-with`](#-
670c0 73 70 6c 69 74 2d 77 69 74 68 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 split-with-pred-list).`(pred.lis
670e0 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 2d 6f 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 6f 6e 2d 69 t)`.*.[`-split-on`](#-split-on-i
67100 74 65 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c tem-list).`(item.list)`.*.[`-spl
67120 69 74 2d 77 68 65 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 77 68 65 6e 2d 66 6e 2d 6c 69 73 74 29 20 it-when`](#-split-when-fn-list).
67140 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 70 61 72 61 74 65 60 5d 28 23 2d 73 65 `(fn.list)`.*.[`-separate`](#-se
67160 70 61 72 61 74 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a parate-pred-list).`(pred.list)`.
67180 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 6e 2d 6c *.[`-partition`](#-partition-n-l
671a0 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 ist).`(n.list)`.*.[`-partition-a
671c0 6c 6c 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 6e 2d 6c 69 73 74 29 20 60 28 6e ll`](#-partition-all-n-list).`(n
671e0 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 60 .list)`.*.[`-partition-in-steps`
67200 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 ](#-partition-in-steps-n-step-li
67220 73 74 29 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 st).`(n.step.list)`.*.[`-partiti
67240 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c on-all-in-steps`](#-partition-al
67260 6c 2d 69 6e 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 73 74 29 20 60 28 6e 20 73 74 65 70 l-in-steps-n-step-list).`(n.step
67280 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 .list)`.*.[`-partition-by`](#-pa
672a0 72 74 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a rtition-by-fn-list).`(fn.list)`.
672c0 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 60 5d 28 23 2d 70 61 72 *.[`-partition-by-header`](#-par
672e0 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c tition-by-header-fn-list).`(fn.l
67300 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 ist)`.*.[`-partition-after-pred`
67320 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 2d 70 72 65 64 2d 6c 69 ](#-partition-after-pred-pred-li
67340 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e st).`(pred.list)`.*.[`-partition
67360 2d 62 65 66 6f 72 65 2d 70 72 65 64 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 -before-pred`](#-partition-befor
67380 65 2d 70 72 65 64 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a e-pred-pred-list).`(pred.list)`.
673a0 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 60 5d 28 23 2d 70 *.[`-partition-before-item`](#-p
673c0 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 20 artition-before-item-item-list).
673e0 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 `(item.list)`.*.[`-partition-aft
67400 65 72 2d 69 74 65 6d 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d er-item`](#-partition-after-item
67420 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 -item-list).`(item.list)`.*.[`-g
67440 72 6f 75 70 2d 62 79 60 5d 28 23 2d 67 72 6f 75 70 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 20 60 28 roup-by`](#-group-by-fn-list).`(
67460 66 6e 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f fn.list)`..###.Indexing..Functio
67480 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 65 64 20 6f ns.retrieving.or.sorting.based.o
674a0 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 72 65 64 69 n.list.indices.and.related.predi
674c0 63 61 74 65 73 2e 0a 0a 2a 20 5b 60 2d 65 6c 65 6d 2d 69 6e 64 65 78 60 5d 28 23 2d 65 6c 65 6d cates...*.[`-elem-index`](#-elem
674e0 2d 69 6e 64 65 78 2d 65 6c 65 6d 2d 6c 69 73 74 29 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a -index-elem-list).`(elem.list)`.
67500 2a 20 5b 60 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 65 6c 65 6d 2d 69 6e 64 69 63 *.[`-elem-indices`](#-elem-indic
67520 65 73 2d 65 6c 65 6d 2d 6c 69 73 74 29 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 es-elem-list).`(elem.list)`.*.[`
67540 2d 66 69 6e 64 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 65 78 2d 70 72 65 64 2d -find-index`](#-find-index-pred-
67560 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 69 6e 64 2d 6c 61 list).`(pred.list)`.*.[`-find-la
67580 73 74 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 2d 70 72 65 st-index`](#-find-last-index-pre
675a0 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 69 6e 64 2d d-list).`(pred.list)`.*.[`-find-
675c0 69 6e 64 69 63 65 73 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 2d 70 72 65 64 2d 6c 69 indices`](#-find-indices-pred-li
675e0 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 61 64 65 2d 75 70 60 st).`(pred.list)`.*.[`-grade-up`
67600 5d 28 23 2d 67 72 61 64 65 2d 75 70 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c 69 73 74 29 20 60 28 ](#-grade-up-comparator-list).`(
67620 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 61 64 65 2d 64 6f 77 comparator.list)`.*.[`-grade-dow
67640 6e 60 5d 28 23 2d 67 72 61 64 65 2d 64 6f 77 6e 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c 69 73 74 n`](#-grade-down-comparator-list
67660 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 53 65 74 20 6f ).`(comparator.list)`..###.Set.o
67680 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 perations..Operations.pretending
676a0 20 6c 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 2a 20 5b 60 2d 75 6e 69 6f 6e 60 5d 28 23 .lists.are.sets...*.[`-union`](#
676c0 2d 75 6e 69 6f 6e 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 31 20 6c 69 73 74 -union-list1-list2).`(list1.list
676e0 32 29 60 0a 2a 20 5b 60 2d 64 69 66 66 65 72 65 6e 63 65 60 5d 28 23 2d 64 69 66 66 65 72 65 6e 2)`.*.[`-difference`](#-differen
67700 63 65 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a ce-list1-list2).`(list1.list2)`.
67720 2a 20 5b 60 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 60 5d 28 23 2d 69 6e 74 65 72 73 65 63 74 69 *.[`-intersection`](#-intersecti
67740 6f 6e 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a on-list1-list2).`(list1.list2)`.
67760 2a 20 5b 60 2d 70 6f 77 65 72 73 65 74 60 5d 28 23 2d 70 6f 77 65 72 73 65 74 2d 6c 69 73 74 29 *.[`-powerset`](#-powerset-list)
67780 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 60 5d 28 23 2d .`(list)`.*.[`-permutations`](#-
677a0 70 65 72 6d 75 74 61 74 69 6f 6e 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 permutations-list).`(list)`.*.[`
677c0 2d 64 69 73 74 69 6e 63 74 60 5d 28 23 2d 64 69 73 74 69 6e 63 74 2d 6c 69 73 74 29 20 60 28 6c -distinct`](#-distinct-list).`(l
677e0 69 73 74 29 60 0a 2a 20 5b 60 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 60 5d 28 23 2d 73 61 6d 65 2d ist)`.*.[`-same-items?`](#-same-
67800 69 74 65 6d 73 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 items-list1-list2).`(list1.list2
67820 29 60 0a 0a 23 23 23 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f )`..###.Other.list.operations..O
67840 74 68 65 72 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 ther.list.functions.not.fit.to.b
67860 65 20 63 6c 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 2a 20 5b 60 2d 72 6f e.classified.elsewhere...*.[`-ro
67880 74 61 74 65 60 5d 28 23 2d 72 6f 74 61 74 65 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 tate`](#-rotate-n-list).`(n.list
678a0 29 60 0a 2a 20 5b 60 2d 63 6f 6e 73 2a 60 5d 28 23 2d 63 6f 6e 73 2d 72 65 73 74 2d 61 72 67 73 )`.*.[`-cons*`](#-cons-rest-args
678c0 29 20 60 28 26 72 65 73 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 73 6e 6f 63 60 5d 28 23 2d 73 ).`(&rest.args)`.*.[`-snoc`](#-s
678e0 6e 6f 63 2d 6c 69 73 74 2d 65 6c 65 6d 2d 72 65 73 74 2d 65 6c 65 6d 65 6e 74 73 29 20 60 28 6c noc-list-elem-rest-elements).`(l
67900 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 60 0a 2a 20 5b 60 2d 69 ist.elem.&rest.elements)`.*.[`-i
67920 6e 74 65 72 70 6f 73 65 60 5d 28 23 2d 69 6e 74 65 72 70 6f 73 65 2d 73 65 70 2d 6c 69 73 74 29 nterpose`](#-interpose-sep-list)
67940 20 60 28 73 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 6e 74 65 72 6c 65 61 76 65 60 5d 28 .`(sep.list)`.*.[`-interleave`](
67960 23 2d 69 6e 74 65 72 6c 65 61 76 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 #-interleave-rest-lists).`(&rest
67980 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 69 6f 74 61 60 5d 28 23 2d 69 6f 74 61 2d 63 6f 75 6e .lists)`.*.[`-iota`](#-iota-coun
679a0 74 2d 6f 70 74 69 6f 6e 61 6c 2d 73 74 61 72 74 2d 73 74 65 70 29 20 60 28 63 6f 75 6e 74 20 26 t-optional-start-step).`(count.&
679c0 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 77 optional.start.step)`.*.[`-zip-w
679e0 69 74 68 60 5d 28 23 2d 7a 69 70 2d 77 69 74 68 2d 66 6e 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 ith`](#-zip-with-fn-list1-list2)
67a00 20 60 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 70 61 69 .`(fn.list1.list2)`.*.[`-zip-pai
67a20 72 60 5d 28 23 2d 7a 69 70 2d 70 61 69 72 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 60 28 6c 69 r`](#-zip-pair-list1-list2).`(li
67a40 73 74 31 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a st1.list2)`.*.[`-zip-lists`](#-z
67a60 69 70 2d 6c 69 73 74 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 ip-lists-rest-lists).`(&rest.lis
67a80 74 73 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 60 5d 28 23 2d 7a 69 70 ts)`.*.[`-zip-lists-fill`](#-zip
67aa0 2d 6c 69 73 74 73 2d 66 69 6c 6c 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 65 73 74 2d 6c 69 73 74 -lists-fill-fill-value-rest-list
67ac0 73 29 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 s).`(fill-value.&rest.lists)`.*.
67ae0 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 [`-zip`](#-zip-rest-lists).`(&re
67b00 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 66 69 6c 6c 60 5d 28 23 2d 7a 69 70 st.lists)`.*.[`-zip-fill`](#-zip
67b20 2d 66 69 6c 6c 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 -fill-fill-value-rest-lists).`(f
67b40 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 75 6e 7a ill-value.&rest.lists)`.*.[`-unz
67b60 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 2d 6c 69 73 74 73 29 20 ip-lists`](#-unzip-lists-lists).
67b80 60 28 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 75 6e 7a 69 70 60 5d 28 23 2d 75 6e 7a 69 70 2d 6c `(lists)`.*.[`-unzip`](#-unzip-l
67ba0 69 73 74 73 29 20 60 28 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 70 61 64 60 5d 28 23 2d 70 61 64 ists).`(lists)`.*.[`-pad`](#-pad
67bc0 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 69 6c 6c 2d 76 -fill-value-rest-lists).`(fill-v
67be0 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 74 61 62 6c 65 60 5d 28 alue.&rest.lists)`.*.[`-table`](
67c00 23 2d 74 61 62 6c 65 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 6e 20 26 72 65 73 #-table-fn-rest-lists).`(fn.&res
67c20 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 5d 28 23 2d 74 61 t.lists)`.*.[`-table-flat`](#-ta
67c40 62 6c 65 2d 66 6c 61 74 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 6e 20 26 72 65 ble-flat-fn-rest-lists).`(fn.&re
67c60 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 66 69 72 73 74 60 5d 28 23 2d 66 69 72 73 74 2d st.lists)`.*.[`-first`](#-first-
67c80 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6c 61 pred-list).`(pred.list)`.*.[`-la
67ca0 73 74 60 5d 28 23 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 st`](#-last-pred-list).`(pred.li
67cc0 73 74 29 60 0a 2a 20 5b 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 5d 28 23 2d 66 69 72 73 74 2d 69 st)`.*.[`-first-item`](#-first-i
67ce0 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 63 6f 6e 64 2d 69 tem-list).`(list)`.*.[`-second-i
67d00 74 65 6d 60 5d 28 23 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 tem`](#-second-item-list).`(list
67d20 29 60 0a 2a 20 5b 60 2d 74 68 69 72 64 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 )`.*.[`-third-item`](#-third-ite
67d40 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 m-list).`(list)`.*.[`-fourth-ite
67d60 6d 60 5d 28 23 2d 66 6f 75 72 74 68 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 m`](#-fourth-item-list).`(list)`
67d80 0a 2a 20 5b 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 69 66 74 68 2d 69 74 65 6d 2d .*.[`-fifth-item`](#-fifth-item-
67da0 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6c 61 73 74 2d 69 74 65 6d 60 5d 28 list).`(list)`.*.[`-last-item`](
67dc0 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d #-last-item-list).`(list)`.*.[`-
67de0 62 75 74 6c 61 73 74 60 5d 28 23 2d 62 75 74 6c 61 73 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 butlast`](#-butlast-list).`(list
67e00 29 60 0a 2a 20 5b 60 2d 73 6f 72 74 60 5d 28 23 2d 73 6f 72 74 2d 63 6f 6d 70 61 72 61 74 6f 72 )`.*.[`-sort`](#-sort-comparator
67e20 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d -list).`(comparator.list)`.*.[`-
67e40 6c 69 73 74 60 5d 28 23 2d 6c 69 73 74 2d 61 72 67 29 20 60 28 61 72 67 29 60 0a 2a 20 5b 60 2d list`](#-list-arg).`(arg)`.*.[`-
67e60 66 69 78 60 5d 28 23 2d 66 69 78 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 fix`](#-fix-fn-list).`(fn.list)`
67e80 0a 0a 23 23 23 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 ..###.Tree.operations..Functions
67ea0 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 2a 20 .pretending.lists.are.trees...*.
67ec0 5b 60 2d 74 72 65 65 2d 73 65 71 60 5d 28 23 2d 74 72 65 65 2d 73 65 71 2d 62 72 61 6e 63 68 2d [`-tree-seq`](#-tree-seq-branch-
67ee0 63 68 69 6c 64 72 65 6e 2d 74 72 65 65 29 20 60 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e children-tree).`(branch.children
67f00 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d .tree)`.*.[`-tree-map`](#-tree-m
67f20 61 70 2d 66 6e 2d 74 72 65 65 29 20 60 28 66 6e 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 ap-fn-tree).`(fn.tree)`.*.[`-tre
67f40 65 2d 6d 61 70 2d 6e 6f 64 65 73 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 2d 70 e-map-nodes`](#-tree-map-nodes-p
67f60 72 65 64 2d 66 75 6e 2d 74 72 65 65 29 20 60 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 60 0a red-fun-tree).`(pred.fun.tree)`.
67f80 2a 20 5b 60 2d 74 72 65 65 2d 72 65 64 75 63 65 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 *.[`-tree-reduce`](#-tree-reduce
67fa0 2d 66 6e 2d 74 72 65 65 29 20 60 28 66 6e 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d -fn-tree).`(fn.tree)`.*.[`-tree-
67fc0 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d reduce-from`](#-tree-reduce-from
67fe0 2d 66 6e 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 29 20 60 28 66 6e 20 69 6e 69 74 2d 76 -fn-init-value-tree).`(fn.init-v
68000 61 6c 75 65 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 60 alue.tree)`.*.[`-tree-mapreduce`
68020 5d 28 23 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 6e 2d 66 6f 6c 64 65 72 2d 74 72 65 ](#-tree-mapreduce-fn-folder-tre
68040 65 29 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d e).`(fn.folder.tree)`.*.[`-tree-
68060 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 mapreduce-from`](#-tree-mapreduc
68080 65 2d 66 72 6f 6d 2d 66 6e 2d 66 6f 6c 64 65 72 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 e-from-fn-folder-init-value-tree
680a0 29 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 60 0a ).`(fn.folder.init-value.tree)`.
680c0 2a 20 5b 60 2d 63 6c 6f 6e 65 60 5d 28 23 2d 63 6c 6f 6e 65 2d 6c 69 73 74 29 20 60 28 6c 69 73 *.[`-clone`](#-clone-list).`(lis
680e0 74 29 60 0a 0a 23 23 23 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 0a 4d 61 63 72 6f t)`..###.Threading.macros..Macro
68100 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 s.that.conditionally.combine.seq
68120 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 20 62 72 65 76 69 74 79 0a 6f 72 20 72 65 61 uential.forms.for.brevity.or.rea
68140 64 61 62 69 6c 69 74 79 2e 0a 0a 2a 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 dability...*.[`->`](#--x-optiona
68160 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 l-form-rest-more).`(x.&optional.
68180 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 3e 3e 60 5d 28 23 2d 2d 78 form.&rest.more)`.*.[`->>`](#--x
681a0 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f -optional-form-rest-more).`(x.&o
681c0 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 2d ptional.form.&rest.more)`.*.[`--
681e0 3e 60 5d 28 23 2d 2d 2d 78 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 78 20 26 72 65 73 74 20 >`](#---x-rest-forms).`(x.&rest.
68200 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 61 73 2d 3e 60 5d 28 23 2d 61 73 2d 2d 76 61 6c 75 65 2d forms)`.*.[`-as->`](#-as--value-
68220 76 61 72 69 61 62 6c 65 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 76 61 6c 75 65 20 76 61 72 variable-rest-forms).`(value.var
68240 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 2d 3e 60 iable.&rest.forms)`.*.[`-some->`
68260 5d 28 23 2d 73 6f 6d 65 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d ](#-some--x-optional-form-rest-m
68280 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f ore).`(x.&optional.form.&rest.mo
682a0 72 65 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 2d 3e 3e 60 5d 28 23 2d 73 6f 6d 65 2d 2d 78 2d 6f 70 re)`.*.[`-some->>`](#-some--x-op
682c0 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 tional-form-rest-more).`(x.&opti
682e0 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 onal.form.&rest.more)`.*.[`-some
68300 2d 2d 3e 60 5d 28 23 2d 73 6f 6d 65 2d 2d 2d 65 78 70 72 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 -->`](#-some---expr-rest-forms).
68320 60 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 64 6f 74 6f 60 5d `(expr.&rest.forms)`.*.[`-doto`]
68340 28 23 2d 64 6f 74 6f 2d 69 6e 69 74 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 69 6e 69 74 20 (#-doto-init-rest-forms).`(init.
68360 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 23 23 23 20 42 69 6e 64 69 6e 67 0a 0a 4d 61 63 72 &rest.forms)`..###.Binding..Macr
68380 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 60 6c 65 74 60 20 61 6e 64 20 60 6c 65 74 2a 60 os.that.combine.`let`.and.`let*`
683a0 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e .with.destructuring.and.flow.con
683c0 74 72 6f 6c 2e 0a 0a 2a 20 5b 60 2d 77 68 65 6e 2d 6c 65 74 60 5d 28 23 2d 77 68 65 6e 2d 6c 65 trol...*.[`-when-let`](#-when-le
683e0 74 2d 76 61 72 2d 76 61 6c 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 28 76 61 72 20 76 61 6c 29 t-var-val-rest-body).`((var.val)
68400 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 77 68 65 6e 2d 6c 65 74 2a 60 5d 28 23 .&rest.body)`.*.[`-when-let*`](#
68420 2d 77 68 65 6e 2d 6c 65 74 2d 76 61 72 73 2d 76 61 6c 73 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 -when-let-vars-vals-rest-body).`
68440 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 69 66 2d (vars-vals.&rest.body)`.*.[`-if-
68460 6c 65 74 60 5d 28 23 2d 69 66 2d 6c 65 74 2d 76 61 72 2d 76 61 6c 2d 74 68 65 6e 2d 72 65 73 74 let`](#-if-let-var-val-then-rest
68480 2d 65 6c 73 65 29 20 60 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c -else).`((var.val).then.&rest.el
684a0 73 65 29 60 0a 2a 20 5b 60 2d 69 66 2d 6c 65 74 2a 60 5d 28 23 2d 69 66 2d 6c 65 74 2d 76 61 72 se)`.*.[`-if-let*`](#-if-let-var
684c0 73 2d 76 61 6c 73 2d 74 68 65 6e 2d 72 65 73 74 2d 65 6c 73 65 29 20 60 28 76 61 72 73 2d 76 61 s-vals-then-rest-else).`(vars-va
684e0 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 60 0a 2a 20 5b 60 2d 6c 65 74 60 5d 28 ls.then.&rest.else)`.*.[`-let`](
68500 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 76 61 72 6c 69 #-let-varlist-rest-body).`(varli
68520 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 st.&rest.body)`.*.[`-let*`](#-le
68540 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 76 61 72 6c 69 73 74 20 26 t-varlist-rest-body).`(varlist.&
68560 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 6c 61 6d 62 64 61 60 5d 28 23 2d 6c 61 6d 62 rest.body)`.*.[`-lambda`](#-lamb
68580 64 61 2d 6d 61 74 63 68 2d 66 6f 72 6d 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 6d 61 74 63 68 da-match-form-rest-body).`(match
685a0 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 73 65 74 71 60 5d 28 23 -form.&rest.body)`.*.[`-setq`](#
685c0 2d 73 65 74 71 2d 6d 61 74 63 68 2d 66 6f 72 6d 2d 76 61 6c 29 20 60 28 5b 6d 61 74 63 68 2d 66 -setq-match-form-val).`([match-f
685e0 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 60 0a 0a 23 23 23 20 53 69 64 65 20 65 66 66 65 63 74 73 orm.val]....)`..###.Side.effects
68600 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 ..Functions.iterating.over.lists
68620 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 2a 20 5b 60 2d 65 61 63 .for.side.effect.only...*.[`-eac
68640 68 60 5d 28 23 2d 65 61 63 68 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 60 0a h`](#-each-list-fn).`(list.fn)`.
68660 2a 20 5b 60 2d 65 61 63 68 2d 77 68 69 6c 65 60 5d 28 23 2d 65 61 63 68 2d 77 68 69 6c 65 2d 6c *.[`-each-while`](#-each-while-l
68680 69 73 74 2d 70 72 65 64 2d 66 6e 29 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 60 0a 2a 20 ist-pred-fn).`(list.pred.fn)`.*.
686a0 5b 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 [`-each-indexed`](#-each-indexed
686c0 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 2a 20 5b 60 2d 65 61 63 68 2d -list-fn).`(list.fn)`.*.[`-each-
686e0 72 60 5d 28 23 2d 65 61 63 68 2d 72 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 r`](#-each-r-list-fn).`(list.fn)
68700 60 0a 2a 20 5b 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 5d 28 23 2d 65 61 63 68 2d 72 2d 77 `.*.[`-each-r-while`](#-each-r-w
68720 68 69 6c 65 2d 6c 69 73 74 2d 70 72 65 64 2d 66 6e 29 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 hile-list-pred-fn).`(list.pred.f
68740 6e 29 60 0a 2a 20 5b 60 2d 64 6f 74 69 6d 65 73 60 5d 28 23 2d 64 6f 74 69 6d 65 73 2d 6e 75 6d n)`.*.[`-dotimes`](#-dotimes-num
68760 2d 66 6e 29 20 60 28 6e 75 6d 20 66 6e 29 60 0a 0a 23 23 23 20 44 65 73 74 72 75 63 74 69 76 65 -fn).`(num.fn)`..###.Destructive
68780 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 .operations..Macros.that.modify.
687a0 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 2a 20 5b 60 21 63 variables.holding.lists...*.[`!c
687c0 6f 6e 73 60 5d 28 23 63 6f 6e 73 2d 63 61 72 2d 63 64 72 29 20 60 28 63 61 72 20 63 64 72 29 60 ons`](#cons-car-cdr).`(car.cdr)`
687e0 0a 2a 20 5b 60 21 63 64 72 60 5d 28 23 63 64 72 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a .*.[`!cdr`](#cdr-list).`(list)`.
68800 0a 23 23 23 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 46 75 6e 63 74 .###.Function.combinators..Funct
68820 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 65 ions.that.manipulate.and.compose
68840 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 2a 20 5b 60 2d 70 61 72 74 69 61 6c 60 .other.functions...*.[`-partial`
68860 5d 28 23 2d 70 61 72 74 69 61 6c 2d 66 75 6e 2d 72 65 73 74 2d 61 72 67 73 29 20 60 28 66 75 6e ](#-partial-fun-rest-args).`(fun
68880 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 72 70 61 72 74 69 61 6c 60 5d 28 23 2d .&rest.args)`.*.[`-rpartial`](#-
688a0 72 70 61 72 74 69 61 6c 2d 66 6e 2d 72 65 73 74 2d 61 72 67 73 29 20 60 28 66 6e 20 26 72 65 73 rpartial-fn-rest-args).`(fn.&res
688c0 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 6a 75 78 74 60 5d 28 23 2d 6a 75 78 74 2d 72 65 73 74 t.args)`.*.[`-juxt`](#-juxt-rest
688e0 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 2a 20 5b 60 2d 63 6f 6d 70 6f 73 65 -fns).`(&rest.fns)`.*.[`-compose
68900 60 5d 28 23 2d 63 6f 6d 70 6f 73 65 2d 72 65 73 74 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 `](#-compose-rest-fns).`(&rest.f
68920 6e 73 29 60 0a 2a 20 5b 60 2d 61 70 70 6c 69 66 79 60 5d 28 23 2d 61 70 70 6c 69 66 79 2d 66 6e ns)`.*.[`-applify`](#-applify-fn
68940 29 20 60 28 66 6e 29 60 0a 2a 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e 73 ).`(fn)`.*.[`-on`](#-on-op-trans
68960 29 20 60 28 6f 70 20 74 72 61 6e 73 29 60 0a 2a 20 5b 60 2d 66 6c 69 70 60 5d 28 23 2d 66 6c 69 ).`(op.trans)`.*.[`-flip`](#-fli
68980 70 2d 66 6e 29 20 60 28 66 6e 29 60 0a 2a 20 5b 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 60 5d 28 p-fn).`(fn)`.*.[`-rotate-args`](
689a0 23 2d 72 6f 74 61 74 65 2d 61 72 67 73 2d 6e 2d 66 6e 29 20 60 28 6e 20 66 6e 29 60 0a 2a 20 5b #-rotate-args-n-fn).`(n.fn)`.*.[
689c0 60 2d 63 6f 6e 73 74 60 5d 28 23 2d 63 6f 6e 73 74 2d 63 29 20 60 28 63 29 60 0a 2a 20 5b 60 2d `-const`](#-const-c).`(c)`.*.[`-
689e0 63 75 74 60 5d 28 23 2d 63 75 74 2d 72 65 73 74 2d 70 61 72 61 6d 73 29 20 60 28 26 72 65 73 74 cut`](#-cut-rest-params).`(&rest
68a00 20 70 61 72 61 6d 73 29 60 0a 2a 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 .params)`.*.[`-not`](#-not-pred)
68a20 20 60 28 70 72 65 64 29 60 0a 2a 20 5b 60 2d 6f 72 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 .`(pred)`.*.[`-orfn`](#-orfn-res
68a40 74 2d 70 72 65 64 73 29 20 60 28 26 72 65 73 74 20 70 72 65 64 73 29 60 0a 2a 20 5b 60 2d 61 6e t-preds).`(&rest.preds)`.*.[`-an
68a60 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 60 28 26 72 65 73 dfn`](#-andfn-rest-preds).`(&res
68a80 74 20 70 72 65 64 73 29 60 0a 2a 20 5b 60 2d 69 74 65 72 61 74 65 66 6e 60 5d 28 23 2d 69 74 65 t.preds)`.*.[`-iteratefn`](#-ite
68aa0 72 61 74 65 66 6e 2d 66 6e 2d 6e 29 20 60 28 66 6e 20 6e 29 60 0a 2a 20 5b 60 2d 66 69 78 66 6e ratefn-fn-n).`(fn.n)`.*.[`-fixfn
68ac0 60 5d 28 23 2d 66 69 78 66 6e 2d 66 6e 2d 6f 70 74 69 6f 6e 61 6c 2d 65 71 75 61 6c 2d 74 65 73 `](#-fixfn-fn-optional-equal-tes
68ae0 74 2d 68 61 6c 74 2d 74 65 73 74 29 20 60 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 t-halt-test).`(fn.&optional.equa
68b00 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 60 0a 2a 20 5b 60 2d 70 72 6f 64 66 6e 60 5d l-test.halt-test)`.*.[`-prodfn`]
68b20 28 23 2d 70 72 6f 64 66 6e 2d 72 65 73 74 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 6e 73 29 (#-prodfn-rest-fns).`(&rest.fns)
68b40 60 0a 0a 23 23 20 4d 61 70 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 `..##.Maps..Functions.in.this.ca
68b60 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 tegory.take.a.transforming.funct
68b80 69 6f 6e 2c 20 77 68 69 63 68 0a 69 73 20 74 68 65 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 ion,.which.is.then.applied.seque
68ba0 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d ntially.to.each.or.selected.elem
68bc0 65 6e 74 73 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 ents.of.the.input.list...The.res
68be0 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 ults.are.collected.in.order.and.
68c00 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 6e 65 77 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 6d returned.as.a.new.list...####.-m
68c20 61 70 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 ap.`(fn.list)`..Apply.`fn`.to.ea
68c40 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 ch.item.in.`list`.and.return.the
68c60 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .list.of.results...This.function
68c80 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 's.anaphoric.counterpart.is.`--m
68ca0 61 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 ap`...```el.(-map.(lambda.(num).
68cc0 28 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 (*.num.num)).'(1.2.3.4)).;;.=>.(
68ce0 31 20 34 20 39 20 31 36 29 0a 28 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 1.4.9.16).(-map.#'1+.'(1.2.3.4))
68d00 20 3b 3b 20 3d 3e 20 28 32 20 33 20 34 20 35 29 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 .;;.=>.(2.3.4.5).(--map.(*.it.it
68d20 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 39 20 31 36 29 0a 60 ).'(1.2.3.4)).;;.=>.(1.4.9.16).`
68d40 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 77 68 65 6e 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 ``..####.-map-when.`(pred.rep.li
68d60 73 74 29 60 0a 0a 55 73 65 20 60 70 72 65 64 60 20 74 6f 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c st)`..Use.`pred`.to.conditionall
68d80 79 20 61 70 70 6c 79 20 60 72 65 70 60 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c y.apply.`rep`.to.each.item.in.`l
68da0 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 68 ist`..Return.a.copy.of.`list`.wh
68dc0 65 72 65 20 74 68 65 20 69 74 65 6d 73 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 ere.the.items.for.which.`pred`.r
68de0 65 74 75 72 6e 73 20 60 6e 69 6c 60 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 eturns.`nil`.are.unchanged,.and.
68e00 74 68 65 20 72 65 73 74 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 the.rest.are.mapped.through.the.
68e20 60 72 65 70 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 70 6c 61 63 `rep`.function...Alias:.`-replac
68e40 65 2d 77 68 65 72 65 60 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 75 70 64 61 74 65 2d 61 74 e-where`..See.also:.[`-update-at
68e60 60 5d 28 23 2d 75 70 64 61 74 65 2d 61 74 2d 6e 2d 66 75 6e 63 2d 6c 69 73 74 29 0a 0a 60 60 60 `](#-update-at-n-func-list)..```
68e80 65 6c 0a 28 2d 6d 61 70 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 el.(-map-when.'even?.'square.'(1
68ea0 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 31 36 29 0a 28 2d 2d 6d 61 70 .2.3.4)).;;.=>.(1.4.3.16).(--map
68ec0 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 -when.(>.it.2).(*.it.it).'(1.2.3
68ee0 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 39 20 31 36 29 0a 28 2d 2d 6d 61 70 2d 77 68 65 .4)).;;.=>.(1.2.9.16).(--map-whe
68f00 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 n.(=.it.2).17.'(1.2.3.4)).;;.=>.
68f20 28 31 20 31 37 20 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 66 69 72 73 74 20 (1.17.3.4).```..####.-map-first.
68f40 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 60 0a 0a 55 73 65 20 60 70 72 65 64 60 20 74 6f `(pred.rep.list)`..Use.`pred`.to
68f60 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 .determine.the.first.item.in.`li
68f80 73 74 60 20 74 6f 20 63 61 6c 6c 20 60 72 65 70 60 20 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 63 st`.to.call.`rep`.on..Return.a.c
68fa0 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 69 74 opy.of.`list`.where.the.first.it
68fc0 65 6d 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d em.for.which.`pred`.returns.non-
68fe0 60 6e 69 6c 60 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c `nil`.is.replaced.with.the.resul
69000 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 60 72 65 70 60 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e t.of.calling.`rep`.on.that.item.
69020 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 2d ..See.also:.[`-map-when`](#-map-
69040 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 70 6c 61 63 65 2d when-pred-rep-list),.[`-replace-
69060 66 69 72 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 2d 6f 6c 64 2d 6e 65 77 2d first`](#-replace-first-old-new-
69080 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e 3f 20 list)..```el.(-map-first.'even?.
690a0 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 'square.'(1.2.3.4)).;;.=>.(1.4.3
690c0 20 34 29 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 .4).(--map-first.(>.it.2).(*.it.
690e0 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 39 20 34 29 0a it).'(1.2.3.4)).;;.=>.(1.2.9.4).
69100 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 (--map-first.(=.it.2).17.'(1.2.3
69120 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 37 20 33 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 .2)).;;.=>.(1.17.3.2).```..####.
69140 2d 6d 61 70 2d 6c 61 73 74 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 60 0a 0a 55 73 65 -map-last.`(pred.rep.list)`..Use
69160 20 60 70 72 65 64 60 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 73 74 20 69 74 .`pred`.to.determine.the.last.it
69180 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 74 6f 20 63 61 6c 6c 20 60 72 65 70 60 20 6f 6e 2e 0a 52 em.in.`list`.to.call.`rep`.on..R
691a0 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 68 65 72 65 20 74 68 65 eturn.a.copy.of.`list`.where.the
691c0 20 6c 61 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 .last.item.for.which.`pred`.retu
691e0 72 6e 73 0a 6e 6f 6e 2d 60 6e 69 6c 60 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 rns.non-`nil`.is.replaced.with.t
69200 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 60 72 65 70 60 20 6f 6e 20 74 68 he.result.of.calling.`rep`.on.th
69220 61 74 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 at.item...See.also:.[`-map-when`
69240 5d 28 23 2d 6d 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 2c 20 5b 60 2d ](#-map-when-pred-rep-list),.[`-
69260 72 65 70 6c 61 63 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 2d 6f 6c replace-last`](#-replace-last-ol
69280 64 2d 6e 65 77 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 6c 61 73 74 20 27 65 d-new-list)..```el.(-map-last.'e
692a0 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 ven?.'square.'(1.2.3.4)).;;.=>.(
692c0 31 20 32 20 33 20 31 36 29 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3e 20 69 74 20 32 29 20 28 1.2.3.16).(--map-last.(>.it.2).(
692e0 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 *.it.it).'(1.2.3.4)).;;.=>.(1.2.
69300 33 20 31 36 29 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 3.16).(--map-last.(=.it.2).17.'(
69320 31 20 32 20 33 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 31 37 29 0a 60 60 60 0a 0a 1.2.3.2)).;;.=>.(1.2.3.17).```..
69340 23 23 23 23 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 ####.-map-indexed.`(fn.list)`..A
69360 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d pply.`fn`.to.each.index.and.item
69380 20 69 6e 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f .in.`list`.and.return.the.list.o
693a0 66 20 72 65 73 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 5b 60 2d 6d 61 70 60 5d f.results..This.is.like.[`-map`]
693c0 28 23 2d 6d 61 70 2d 66 6e 2d 6c 69 73 74 29 2c 20 62 75 74 20 60 66 6e 60 20 74 61 6b 65 73 20 (#-map-fn-list),.but.`fn`.takes.
693e0 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a two.arguments:.the.index.of.the.
69400 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 60 6c 69 73 74 60 2c 20 61 current.element.within.`list`,.a
69420 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 20 66 75 6e nd.the.element.itself...This.fun
69440 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
69460 20 60 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 60 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 .`--map-indexed`...For.a.side-ef
69480 66 65 63 74 69 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 65 61 63 fecting.variant,.see.also.[`-eac
694a0 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 2d 6c 69 73 74 2d h-indexed`](#-each-indexed-list-
694c0 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 fn)...```el.(-map-indexed.(lambd
694e0 61 20 28 69 6e 64 65 78 20 69 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 a.(index.item).(-.item.index)).'
69500 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 2d 6d 61 (1.2.3.4)).;;.=>.(1.1.1.1).(--ma
69520 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 31 20 32 20 p-indexed.(-.it.it-index).'(1.2.
69540 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 6d 61 70 2d 69 6e 64 65 3.4)).;;.=>.(1.1.1.1).(-map-inde
69560 78 65 64 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 30 20 32 20 36 xed.#'*.'(1.2.3.4)).;;.=>.(0.2.6
69580 20 31 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 6e 6f 74 61 74 65 20 60 28 66 6e 20 6c 69 .12).```..####.-annotate.`(fn.li
695a0 73 74 29 60 0a 0a 50 61 69 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 77 st)`..Pair.each.item.in.`list`.w
695c0 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 70 61 73 73 69 6e 67 20 69 74 20 74 6f 20 ith.the.result.of.passing.it.to.
695e0 60 66 6e 60 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 60 72 65 73 75 `fn`...Return.an.alist.of.(`resu
69600 6c 74 60 20 2e 20 60 69 74 65 6d 60 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 60 69 74 65 6d 60 lt`...`item`),.where.each.`item`
69620 20 69 73 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 6f 66 .is.the.corresponding.element.of
69640 20 60 6c 69 73 74 60 2c 20 61 6e 64 20 60 72 65 73 75 6c 74 60 20 69 73 20 74 68 65 20 76 61 6c .`list`,.and.`result`.is.the.val
69660 75 65 20 6f 62 74 61 69 6e 65 64 0a 62 79 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 20 6f 6e 20 60 ue.obtained.by.calling.`fn`.on.`
69680 69 74 65 6d 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 item`...This.function's.anaphori
696a0 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6e 6e 6f 74 61 74 65 60 2e 0a 0a c.counterpart.is.`--annotate`...
696c0 60 60 60 65 6c 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 31 2b 20 27 28 31 20 32 20 33 29 29 20 ```el.(-annotate.#'1+.'(1.2.3)).
696e0 3b 3b 20 3d 3e 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 29 20 28 34 20 2e 20 33 29 29 0a ;;.=>.((2...1).(3...2).(4...3)).
69700 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 6c 65 6e 67 74 68 20 27 28 28 66 20 6f 20 6f 29 20 28 62 (-annotate.#'length.'((f.o.o).(b
69720 61 72 20 62 61 7a 29 29 29 20 3b 3b 20 3d 3e 20 28 28 33 20 66 20 6f 20 6f 29 20 28 32 20 62 61 ar.baz))).;;.=>.((3.f.o.o).(2.ba
69740 72 20 62 61 7a 29 29 0a 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3e 20 69 74 20 31 29 20 27 28 30 r.baz)).(--annotate.(>.it.1).'(0
69760 20 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c 20 2e 20 30 29 20 28 6e 69 6c 20 2e .1.2.3)).;;.=>.((nil...0).(nil..
69780 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e 20 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d .1).(t...2).(t...3)).```..####.-
697a0 73 70 6c 69 63 65 20 60 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 63 65 splice.`(pred.fun.list)`..Splice
697c0 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 60 66 75 6e 60 20 69 6e 20 70 6c 61 .lists.generated.by.`fun`.in.pla
697e0 63 65 20 6f 66 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 20 69 6e ce.of.items.satisfying.`pred`.in
69800 20 60 6c 69 73 74 60 2e 0a 0a 43 61 6c 6c 20 60 70 72 65 64 60 20 6f 6e 20 65 61 63 68 20 65 6c .`list`...Call.`pred`.on.each.el
69820 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 2e 20 20 57 68 65 6e 65 76 65 72 20 74 68 65 20 72 ement.of.`list`...Whenever.the.r
69840 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 0a 69 73 20 60 6e 69 6c 60 2c 20 6c 65 61 76 65 20 esult.of.`pred`.is.`nil`,.leave.
69860 74 68 61 74 20 60 69 74 60 20 61 73 2d 69 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 63 61 6c that.`it`.as-is...Otherwise,.cal
69880 6c 20 60 66 75 6e 60 20 6f 6e 20 74 68 65 20 73 61 6d 65 0a 60 69 74 60 20 74 68 61 74 20 73 61 l.`fun`.on.the.same.`it`.that.sa
698a0 74 69 73 66 69 65 64 20 60 70 72 65 64 60 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 73 68 6f 75 tisfied.`pred`...The.result.shou
698c0 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 0a 65 6d 70 74 79 29 20 6c 69 73 74 20 6f 66 ld.be.a.(possibly.empty).list.of
698e0 20 69 74 65 6d 73 20 74 6f 20 73 70 6c 69 63 65 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 60 69 74 .items.to.splice.in.place.of.`it
69900 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c `.in.`list`...This.can.be.useful
69920 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 74 68 65 20 60 2c 40 60 20 63 .as.an.alternative.to.the.`,@`.c
69940 6f 6e 73 74 72 75 63 74 20 69 6e 20 61 0a 60 60 27 20 73 74 72 75 63 74 75 72 65 2c 20 69 6e 20 onstruct.in.a.``'.structure,.in.
69960 63 61 73 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 case.you.need.to.splice.several.
69980 6c 69 73 74 73 20 61 74 0a 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 lists.at.marked.positions.(for.e
699a0 78 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 54 68 69 73 20 66 75 6e xample.with.keywords)...This.fun
699c0 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
699e0 20 60 2d 2d 73 70 6c 69 63 65 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 .`--splice`...See.also:.[`-splic
69a00 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 73 74 2d 70 72 65 64 2d 6e 65 77 2d e-list`](#-splice-list-pred-new-
69a20 6c 69 73 74 2d 6c 69 73 74 29 2c 20 5b 60 2d 69 6e 73 65 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 list-list),.[`-insert-at`](#-ins
69a40 65 72 74 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 63 ert-at-n-x-list)...```el.(-splic
69a60 65 20 23 27 6e 75 6d 62 65 72 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 6c 69 73 74 20 6e 20 e.#'numberp.(lambda.(n).(list.n.
69a80 6e 29 29 20 27 28 61 20 31 20 62 20 32 29 29 20 3b 3b 20 3d 3e 20 28 61 20 31 20 31 20 62 20 32 n)).'(a.1.b.2)).;;.=>.(a.1.1.b.2
69aa0 20 32 29 0a 28 2d 2d 73 70 6c 69 63 65 20 74 20 28 6c 69 73 74 20 69 74 20 69 74 29 20 27 28 31 .2).(--splice.t.(list.it.it).'(1
69ac0 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 34 29 .2.3.4)).;;.=>.(1.1.2.2.3.3.4.4)
69ae0 0a 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 20 69 74 20 3a 6d 61 67 69 63 29 20 27 28 28 6d 61 67 .(--splice.(eq.it.:magic).'((mag
69b00 69 63 61 6c 29 20 28 63 6f 64 65 29 29 20 27 28 28 66 6f 6f 29 20 3a 6d 61 67 69 63 20 28 62 61 ical).(code)).'((foo).:magic.(ba
69b20 72 29 29 29 20 3b 3b 20 3d 3e 20 28 28 66 6f 6f 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 r))).;;.=>.((foo).(magical).(cod
69b40 65 29 20 28 62 61 72 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 e).(bar)).```..####.-splice-list
69b60 20 60 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 63 65 20 .`(pred.new-list.list)`..Splice.
69b80 60 6e 65 77 2d 6c 69 73 74 60 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 `new-list`.in.place.of.elements.
69ba0 6d 61 74 63 68 69 6e 67 20 60 70 72 65 64 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 53 65 65 20 matching.`pred`.in.`list`...See.
69bc0 61 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 65 60 5d 28 23 2d 73 70 6c 69 63 65 2d 70 72 65 64 2d also:.[`-splice`](#-splice-pred-
69be0 66 75 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d 69 6e 73 65 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 fun-list),.[`-insert-at`](#-inse
69c00 72 74 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 63 65 2d rt-at-n-x-list)..```el.(-splice-
69c20 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f list.'keywordp.'(a.b.c).'(1.:foo
69c40 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 61 20 62 20 63 20 32 29 0a 28 2d 73 70 6c 69 63 65 2d .2)).;;.=>.(1.a.b.c.2).(-splice-
69c60 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 20 list.'keywordp.nil.'(1.:foo.2)).
69c80 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 ;;.=>.(1.2).(--splice-list.(keyw
69ca0 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b ordp.it).'(a.b.c).'(1.:foo.2)).;
69cc0 3b 20 3d 3e 20 28 31 20 61 20 62 20 63 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 63 ;.=>.(1.a.b.c.2).```..####.-mapc
69ce0 61 74 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 at.`(fn.list)`..Return.the.conca
69d00 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e tenation.of.the.result.of.mappin
69d20 67 20 60 66 6e 60 20 6f 76 65 72 20 60 6c 69 73 74 60 2e 0a 54 68 75 73 20 66 75 6e 63 74 69 6f g.`fn`.over.`list`..Thus.functio
69d40 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 2e 0a 0a 60 60 n.`fn`.should.return.a.list...``
69d60 60 65 6c 0a 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 `el.(-mapcat.'list.'(1.2.3)).;;.
69d80 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 =>.(1.2.3).(-mapcat.(lambda.(ite
69da0 6d 29 20 28 6c 69 73 74 20 30 20 69 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d m).(list.0.item)).'(1.2.3)).;;.=
69dc0 3e 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 28 2d 2d 6d 61 70 63 61 74 20 28 6c 69 73 74 20 >.(0.1.0.2.0.3).(--mapcat.(list.
69de0 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 30 20 32 20 30 0.it).'(1.2.3)).;;.=>.(0.1.0.2.0
69e00 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 70 79 20 60 28 6c 69 73 74 29 60 0a 0a 43 72 .3).```..####.-copy.`(list)`..Cr
69e20 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a 54 eate.a.shallow.copy.of.`list`..T
69e40 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 61 72 65 20 6e 6f 74 20 63 6f he.elements.of.`list`.are.not.co
69e60 70 69 65 64 3b 20 74 68 65 79 20 61 72 65 20 73 68 61 72 65 64 20 77 69 74 68 20 74 68 65 20 6f pied;.they.are.shared.with.the.o
69e80 72 69 67 69 6e 61 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 70 79 20 27 28 31 20 32 20 33 29 29 riginal...```el.(-copy.'(1.2.3))
69ea0 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 29 .;;.=>.(1.2.3).(let.((a.'(1.2.3)
69ec0 29 29 20 28 65 71 20 61 20 28 2d 63 6f 70 79 20 61 29 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 )).(eq.a.(-copy.a))).;;.=>.nil.`
69ee0 60 60 0a 0a 23 23 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e 63 74 69 ``..##.Sublist.selection..Functi
69f00 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 6f ons.returning.a.sublist.of.the.o
69f20 72 69 67 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 66 69 6c 74 65 72 20 60 28 70 72 riginal.list...####.-filter.`(pr
69f40 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 ed.list)`..Return.a.new.list.of.
69f60 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 the.items.in.`list`.for.which.`p
69f80 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 41 6c 69 61 73 3a 20 red`.returns.non-`nil`...Alias:.
69fa0 60 2d 73 65 6c 65 63 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 `-select`...This.function's.anap
69fc0 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6c 74 65 72 60 2e horic.counterpart.is.`--filter`.
69fe0 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c ..For.similar.operations,.see.al
6a000 73 6f 20 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 so.[`-keep`](#-keep-fn-list).and
6a020 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 .[`-remove`](#-remove-pred-list)
6a040 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 ...```el.(-filter.(lambda.(num).
6a060 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 (=.0.(%.num.2))).'(1.2.3.4)).;;.
6a080 3d 3e 20 28 32 20 34 29 0a 28 2d 66 69 6c 74 65 72 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 =>.(2.4).(-filter.#'natnump.'(-2
6a0a0 20 2d 31 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 29 0a 28 2d 2d 66 69 6c .-1.0.1.2)).;;.=>.(0.1.2).(--fil
6a0c0 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b ter.(=.0.(%.it.2)).'(1.2.3.4)).;
6a0e0 3b 20 3d 3e 20 28 32 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 20 60 28 70 ;.=>.(2.4).```..####.-remove.`(p
6a100 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 red.list)`..Return.a.new.list.of
6a120 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 .the.items.in.`list`.for.which.`
6a140 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 60 6e 69 6c 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 pred`.returns.`nil`...Alias:.`-r
6a160 65 6a 65 63 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 eject`...This.function's.anaphor
6a180 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 60 2e 0a 0a 46 ic.counterpart.is.`--remove`...F
6a1a0 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 or.similar.operations,.see.also.
6a1c0 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 [`-keep`](#-keep-fn-list).and.[`
6a1e0 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a -filter`](#-filter-pred-list)...
6a200 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 ```el.(-remove.(lambda.(num).(=.
6a220 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 0.(%.num.2))).'(1.2.3.4)).;;.=>.
6a240 28 31 20 33 29 0a 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 (1.3).(-remove.#'natnump.'(-2.-1
6a260 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 2d 32 20 2d 31 29 0a 28 2d 2d 72 65 6d 6f 76 65 .0.1.2)).;;.=>.(-2.-1).(--remove
6a280 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d .(=.0.(%.it.2)).'(1.2.3.4)).;;.=
6a2a0 3e 20 28 31 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 >.(1.3).```..####.-remove-first.
6a2c0 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 `(pred.list)`..Remove.the.first.
6a2e0 69 74 65 6d 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 item.from.`list`.for.which.`pred
6a300 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 54 68 69 73 20 69 73 20 61 20 6e `.returns.non-`nil`..This.is.a.n
6a320 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e on-destructive.operation,.but.on
6a340 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 60 6c 69 73 74 60 0a 6c 65 61 64 69 6e 67 20 75 ly.the.front.of.`list`.leading.u
6a360 70 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b p.to.the.removed.item.is.a.copy;
6a380 20 74 68 65 20 72 65 73 74 20 69 73 20 60 6c 69 73 74 60 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 .the.rest.is.`list`'s.original.t
6a3a0 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 ail...If.no.item.is.removed,.the
6a3c0 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e n.the.result.is.a.complete.copy.
6a3e0 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 60 2e 0a 0a 54 68 69 73 20 ..Alias:.`-reject-first`...This.
6a400 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 function's.anaphoric.counterpart
6a420 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 .is.`--remove-first`...See.also.
6a440 5b 60 2d 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 72 73 74 2d 70 72 65 64 2d [`-map-first`](#-map-first-pred-
6a460 72 65 70 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 rep-list),.[`-remove-item`](#-re
6a480 6d 6f 76 65 2d 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 61 6e 64 20 5b 60 2d 72 65 6d move-item-item-list),.and.[`-rem
6a4a0 6f 76 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 ove-last`](#-remove-last-pred-li
6a4c0 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 6e 61 74 st)...```el.(-remove-first.#'nat
6a4e0 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 2d 32 20 2d nump.'(-2.-1.0.1.2)).;;.=>.(-2.-
6a500 31 20 31 20 32 29 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 1.1.2).(-remove-first.#'stringp.
6a520 27 28 31 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 20 3b 3b 20 3d 3e 20 28 '(1.2."first"."second")).;;.=>.(
6a540 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 1.2."second").(--remove-first.(>
6a560 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 .it.3).'(1.2.3.4.5.6)).;;.=>.(1.
6a580 32 20 33 20 35 20 36 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 2.3.5.6).```..####.-remove-last.
6a5a0 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 `(pred.list)`..Remove.the.last.i
6a5c0 74 65 6d 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 tem.from.`list`.for.which.`pred`
6a5e0 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 .returns.non-`nil`..The.result.i
6a600 73 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 s.a.copy.of.`list`.regardless.of
6a620 20 77 68 65 74 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a .whether.an.element.is.removed..
6a640 0a 41 6c 69 61 73 3a 20 60 2d 72 65 6a 65 63 74 2d 6c 61 73 74 60 2e 0a 0a 54 68 69 73 20 66 75 .Alias:.`-reject-last`...This.fu
6a660 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 nction's.anaphoric.counterpart.i
6a680 73 20 60 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d s.`--remove-last`...See.also.[`-
6a6a0 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c map-last`](#-map-last-pred-rep-l
6a6c0 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 65 2d ist),.[`-remove-item`](#-remove-
6a6e0 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 61 6e 64 20 5b 60 2d 72 65 6d 6f 76 65 2d 66 item-item-list),.and.[`-remove-f
6a700 69 72 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 irst`](#-remove-first-pred-list)
6a720 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 ...```el.(-remove-last.#'natnump
6a740 20 27 28 31 20 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 20 3b 3b 20 3d 3e 20 28 31 .'(1.3.5.4.7.8.10.-11)).;;.=>.(1
6a760 20 33 20 35 20 34 20 37 20 38 20 2d 31 31 29 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 .3.5.4.7.8.-11).(-remove-last.#'
6a780 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 20 stringp.'(1.2."last"."second")).
6a7a0 3b 3b 20 3d 3e 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 ;;.=>.(1.2."last").(--remove-las
6a7c0 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 t.(>.it.3).'(1.2.3.4.5.6.7.8.9.1
6a7e0 30 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 60 60 0)).;;.=>.(1.2.3.4.5.6.7.8.9).``
6a800 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 60 28 69 74 65 6d 20 6c 69 73 74 `..####.-remove-item.`(item.list
6a820 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 )`..Return.a.copy.of.`list`.with
6a840 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 60 69 74 65 6d 60 20 72 65 6d 6f 76 .all.occurrences.of.`item`.remov
6a860 65 64 2e 0a 54 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 ed..The.comparison.is.done.with.
6a880 60 65 71 75 61 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 `equal`...```el.(-remove-item.3.
6a8a0 27 28 31 20 32 20 33 20 32 20 33 20 34 20 35 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 32 '(1.2.3.2.3.4.5.3)).;;.=>.(1.2.2
6a8c0 20 34 20 35 29 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 .4.5).(-remove-item.'foo.'(foo.b
6a8e0 61 72 20 62 61 7a 20 66 6f 6f 29 29 20 3b 3b 20 3d 3e 20 28 62 61 72 20 62 61 7a 29 0a 28 2d 72 ar.baz.foo)).;;.=>.(bar.baz).(-r
6a900 65 6d 6f 76 65 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 22 emove-item."bob".'("alice"."bob"
6a920 20 22 65 76 65 22 20 22 62 6f 62 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 6c 69 63 65 22 20 22 65 ."eve"."bob")).;;.=>.("alice"."e
6a940 76 65 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 6e 2d 6e 69 6c 20 60 28 6c 69 73 74 29 60 ve").```..####.-non-nil.`(list)`
6a960 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 ..Return.a.copy.of.`list`.with.a
6a980 6c 6c 20 60 6e 69 6c 60 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 ll.`nil`.items.removed...```el.(
6a9a0 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 6e 69 6c 20 31 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 -non-nil.'(nil.1.nil.2.nil.nil.3
6a9c0 20 34 20 6e 69 6c 20 35 20 6e 69 6c 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 .4.nil.5.nil)).;;.=>.(1.2.3.4.5)
6a9e0 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 28 6e 69 6c 29 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c .(-non-nil.'((nil))).;;.=>.((nil
6aa00 29 29 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 )).(-non-nil.()).;;.=>.().```..#
6aa20 23 23 23 20 2d 73 6c 69 63 65 20 60 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c ###.-slice.`(list.from.&optional
6aa40 20 74 6f 20 73 74 65 70 29 60 0a 0a 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 .to.step)`..Return.copy.of.`list
6aa60 60 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 60 66 72 6f 6d 60 20 74 6f `,.starting.from.index.`from`.to
6aa80 20 69 6e 64 65 78 20 60 74 6f 60 2e 0a 0a 60 66 72 6f 6d 60 20 6f 72 20 60 74 6f 60 20 6d 61 79 .index.`to`...`from`.or.`to`.may
6aaa0 20 62 65 20 6e 65 67 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 .be.negative...These.values.are.
6aac0 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 then.interpreted.modulo.the.leng
6aae0 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 60 73 74 65 70 60 20 69 73 20 61 20 th.of.the.list...If.`step`.is.a.
6ab00 6e 75 6d 62 65 72 2c 20 6f 6e 6c 79 20 65 61 63 68 20 60 73 74 65 70 60 74 68 20 69 74 65 6d 20 number,.only.each.`step`th.item.
6ab20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 in.the.resulting.section.is.retu
6ab40 72 6e 65 64 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 rned...Defaults.to.1...```el.(-s
6ab60 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 31 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 lice.'(1.2.3.4.5).1).;;.=>.(2.3.
6ab80 34 20 35 29 0a 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 20 3b 4.5).(-slice.'(1.2.3.4.5).0.3).;
6aba0 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 ;.=>.(1.2.3).(-slice.'(1.2.3.4.5
6abc0 20 36 20 37 20 38 20 39 29 20 31 20 2d 31 20 32 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 36 20 38 .6.7.8.9).1.-1.2).;;.=>.(2.4.6.8
6abe0 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 6b 65 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 ).```..####.-take.`(n.list)`..Re
6ac00 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 69 74 65 turn.a.copy.of.the.first.`n`.ite
6ac20 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 ms.in.`list`..Return.a.copy.of.`
6ac40 6c 69 73 74 60 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f list`.if.it.contains.`n`.items.o
6ac60 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 60 6e 60 20 69 73 20 r.fewer..Return.`nil`.if.`n`.is.
6ac80 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 6b 65 zero.or.less...See.also:.[`-take
6aca0 2d 6c 61 73 74 60 5d 28 23 2d 74 61 6b 65 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 -last`](#-take-last-n-list)...``
6acc0 60 65 6c 0a 28 2d 74 61 6b 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e `el.(-take.3.'(1.2.3.4.5)).;;.=>
6ace0 20 28 31 20 32 20 33 29 0a 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 .(1.2.3).(-take.17.'(1.2.3.4.5))
6ad00 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 74 61 6b 65 20 30 20 27 28 31 20 .;;.=>.(1.2.3.4.5).(-take.0.'(1.
6ad20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 2.3.4.5)).;;.=>.().```..####.-ta
6ad40 6b 65 2d 6c 61 73 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 ke-last.`(n.list)`..Return.a.cop
6ad60 79 20 6f 66 20 74 68 65 20 6c 61 73 74 20 60 6e 60 20 69 74 65 6d 73 20 6f 66 20 60 6c 69 73 74 y.of.the.last.`n`.items.of.`list
6ad80 60 20 69 6e 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 `.in.order..Return.a.copy.of.`li
6ada0 73 74 60 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 st`.if.it.contains.`n`.items.or.
6adc0 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 60 6e 60 20 69 73 20 7a 65 fewer..Return.`nil`.if.`n`.is.ze
6ade0 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 6b 65 60 5d ro.or.less...See.also:.[`-take`]
6ae00 28 23 2d 74 61 6b 65 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b 65 2d 6c (#-take-n-list)...```el.(-take-l
6ae20 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 20 35 ast.3.'(1.2.3.4.5)).;;.=>.(3.4.5
6ae40 29 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b ).(-take-last.17.'(1.2.3.4.5)).;
6ae60 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 ;.=>.(1.2.3.4.5).(-take-last.1.'
6ae80 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 35 29 0a 60 60 60 0a 0a 23 23 23 23 (1.2.3.4.5)).;;.=>.(5).```..####
6aea0 20 2d 64 72 6f 70 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 74 61 .-drop.`(n.list)`..Return.the.ta
6aec0 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 il.(not.a.copy).of.`list`.withou
6aee0 74 20 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 60 6e t.the.first.`n`.items..Return.`n
6af00 69 6c 60 20 69 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 il`.if.`list`.contains.`n`.items
6af20 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 60 6c 69 73 74 60 20 69 66 20 60 6e 60 20 .or.fewer..Return.`list`.if.`n`.
6af40 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 is.zero.or.less...For.another.va
6af60 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 64 72 6f 70 2d 6c 61 73 74 60 5d 28 23 riant,.see.also.[`-drop-last`](#
6af80 2d 64 72 6f 70 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 72 6f -drop-last-n-list)...```el.(-dro
6afa0 70 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 34 20 35 29 0a 28 2d p.3.'(1.2.3.4.5)).;;.=>.(4.5).(-
6afc0 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 drop.17.'(1.2.3.4.5)).;;.=>.().(
6afe0 2d 64 72 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 -drop.0.'(1.2.3.4.5)).;;.=>.(1.2
6b000 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 72 6f 70 2d 6c 61 73 74 20 60 28 6e .3.4.5).```..####.-drop-last.`(n
6b020 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 .list)`..Return.a.copy.of.`list`
6b040 20 77 69 74 68 6f 75 74 20 69 74 73 20 6c 61 73 74 20 60 6e 60 20 69 74 65 6d 73 2e 0a 52 65 74 .without.its.last.`n`.items..Ret
6b060 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 69 66 20 60 6e 60 20 69 73 20 7a urn.a.copy.of.`list`.if.`n`.is.z
6b080 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 60 6c 69 ero.or.less..Return.`nil`.if.`li
6b0a0 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e st`.contains.`n`.items.or.fewer.
6b0c0 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c ..See.also:.[`-drop`](#-drop-n-l
6b0e0 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 ist)...```el.(-drop-last.3.'(1.2
6b100 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 .3.4.5)).;;.=>.(1.2).(-drop-last
6b120 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 72 6f .17.'(1.2.3.4.5)).;;.=>.().(-dro
6b140 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 p-last.0.'(1.2.3.4.5)).;;.=>.(1.
6b160 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 60 2.3.4.5).```..####.-take-while.`
6b180 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 (pred.list)`..Take.successive.it
6b1a0 65 6d 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 ems.from.`list`.for.which.`pred`
6b1c0 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 60 70 72 65 64 60 20 69 73 20 61 20 .returns.non-`nil`..`pred`.is.a.
6b1e0 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 function.of.one.argument...Retur
6b200 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 n.a.new.list.of.the.successive.e
6b220 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 60 6c 69 73 74 60 lements.from.the.start.of.`list`
6b240 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 60 6e .for.which.`pred`.returns.non-`n
6b260 69 6c 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 il`...This.function's.anaphoric.
6b280 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 60 2e 0a 0a counterpart.is.`--take-while`...
6b2a0 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 For.another.variant,.see.also.[`
6b2c0 2d 64 72 6f 70 2d 77 68 69 6c 65 60 5d 28 23 2d 64 72 6f 70 2d 77 68 69 6c 65 2d 70 72 65 64 2d -drop-while`](#-drop-while-pred-
6b2e0 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 list)...```el.(-take-while.#'eve
6b300 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 74 61 6b 65 2d 77 n?.'(1.2.3.4)).;;.=>.().(-take-w
6b320 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 hile.#'even?.'(2.4.5.6)).;;.=>.(
6b340 32 20 34 29 0a 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 2.4).(--take-while.(<.it.4).'(1.
6b360 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 2.3.4.3.2.1)).;;.=>.(1.2.3).```.
6b380 0a 23 23 23 23 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a .####.-drop-while.`(pred.list)`.
6b3a0 0a 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 60 6c 69 73 .Drop.successive.items.from.`lis
6b3c0 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d t`.for.which.`pred`.returns.non-
6b3e0 60 6e 69 6c 60 2e 0a 60 70 72 65 64 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f `nil`..`pred`.is.a.function.of.o
6b400 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e ne.argument...Return.the.tail.(n
6b420 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 60 6c 69 73 74 60 20 73 74 61 72 74 69 6e 67 20 66 72 ot.a.copy).of.`list`.starting.fr
6b440 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 60 om.its.first.element.for.which.`
6b460 70 72 65 64 60 20 72 65 74 75 72 6e 73 0a 60 6e 69 6c 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 pred`.returns.`nil`...This.funct
6b480 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 ion's.anaphoric.counterpart.is.`
6b4a0 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 60 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 --drop-while`...For.another.vari
6b4c0 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 74 61 6b 65 2d 77 68 69 6c 65 60 5d 28 23 2d ant,.see.also.[`-take-while`](#-
6b4e0 74 61 6b 65 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d take-while-pred-list)...```el.(-
6b500 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 20 3b drop-while.#'even?.'(1.2.3.4)).;
6b520 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 ;.=>.(1.2.3.4).(-drop-while.#'ev
6b540 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 35 20 36 29 0a 28 2d 2d 64 en?.'(2.4.5.6)).;;.=>.(5.6).(--d
6b560 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 rop-while.(<.it.4).'(1.2.3.4.3.2
6b580 20 31 29 29 20 3b 3b 20 3d 3e 20 28 34 20 33 20 32 20 31 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d .1)).;;.=>.(4.3.2.1).```..####.-
6b5a0 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 select-by-indices.`(indices.list
6b5c0 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 )`..Return.a.list.whose.elements
6b5e0 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 73 65 6c 65 63 74 .are.elements.from.`list`.select
6b600 65 64 0a 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 ed.as.`(nth.i.list)`.for.all.i.f
6b620 72 6f 6d 20 60 69 6e 64 69 63 65 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 6c 65 63 74 2d 62 rom.`indices`...```el.(-select-b
6b640 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 32 20 33 20 36 29 20 27 28 22 76 22 20 22 65 y-indices.'(4.10.2.3.6).'("v"."e
6b660 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 20 22 72 22 20 22 61 22 20 22 70 22 20 22 74 "."l"."o"."c"."i"."r"."a"."p"."t
6b680 22 20 22 6f 22 20 22 72 22 29 29 20 3b 3b 20 3d 3e 20 28 22 63 22 20 22 6f 22 20 22 6c 22 20 22 "."o"."r")).;;.=>.("c"."o"."l"."
6b6a0 6f 22 20 22 72 22 29 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 32 20 o"."r").(-select-by-indices.'(2.
6b6c0 31 20 30 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 20 3b 3b 20 3d 3e 20 28 22 63 22 20 1.0).'("a"."b"."c")).;;.=>.("c".
6b6e0 22 62 22 20 22 61 22 29 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 30 "b"."a").(-select-by-indices.'(0
6b700 20 31 20 32 20 30 20 31 20 33 20 33 20 31 29 20 27 28 22 66 22 20 22 61 22 20 22 72 22 20 22 6c .1.2.0.1.3.3.1).'("f"."a"."r"."l
6b720 22 29 29 20 3b 3b 20 3d 3e 20 28 22 66 22 20 22 61 22 20 22 72 22 20 22 66 22 20 22 61 22 20 22 ")).;;.=>.("f"."a"."r"."f"."a"."
6b740 6c 22 20 22 6c 22 20 22 61 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 6c 65 63 74 2d 63 6f l"."l"."a").```..####.-select-co
6b760 6c 75 6d 6e 73 20 60 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 60 0a 0a 53 65 6c 65 63 74 20 lumns.`(columns.table)`..Select.
6b780 60 63 6f 6c 75 6d 6e 73 60 20 66 72 6f 6d 20 60 74 61 62 6c 65 60 2e 0a 0a 60 74 61 62 6c 65 60 `columns`.from.`table`...`table`
6b7a0 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 .is.a.list.of.lists.where.each.e
6b7c0 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 lement.represents.one.row..It.is
6b7e0 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c .assumed.each.row.has.the.same.l
6b800 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 ength...Each.row.is.transformed.
6b820 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 60 63 6f such.that.only.the.specified.`co
6b840 6c 75 6d 6e 73 60 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 lumns`.are.selected...See.also:.
6b860 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 [`-select-column`](#-select-colu
6b880 6d 6e 2d 63 6f 6c 75 6d 6e 2d 74 61 62 6c 65 29 2c 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 mn-column-table),.[`-select-by-i
6b8a0 6e 64 69 63 65 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 ndices`](#-select-by-indices-ind
6b8c0 69 63 65 73 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d ices-list)..```el.(-select-colum
6b8e0 6e 73 20 27 28 30 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 ns.'(0.2).'((1.2.3).(a.b.c).(:a.
6b900 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 29 20 28 61 20 63 29 20 28 3a 61 20 :b.:c))).;;.=>.((1.3).(a.c).(:a.
6b920 3a 63 29 29 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 31 29 20 27 28 28 31 20 :c)).(-select-columns.'(1).'((1.
6b940 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 2.3).(a.b.c).(:a.:b.:c))).;;.=>.
6b960 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 ((2).(b).(:b)).(-select-columns.
6b980 6e 69 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 nil.'((1.2.3).(a.b.c).(:a.:b.:c)
6b9a0 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 23 23 23 )).;;.=>.(nil.nil.nil).```..####
6b9c0 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 60 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 60 .-select-column.`(column.table)`
6b9e0 0a 0a 53 65 6c 65 63 74 20 60 63 6f 6c 75 6d 6e 60 20 66 72 6f 6d 20 60 74 61 62 6c 65 60 2e 0a ..Select.`column`.from.`table`..
6ba00 0a 60 74 61 62 6c 65 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 .`table`.is.a.list.of.lists.wher
6ba20 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f e.each.element.represents.one.ro
6ba40 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 w..It.is.assumed.each.row.has.th
6ba60 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 54 68 65 20 73 69 6e 67 6c 65 20 73 65 6c 65 63 e.same.length...The.single.selec
6ba80 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6c 69 73 74 ted.column.is.returned.as.a.list
6baa0 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 60 5d ...See.also:.[`-select-columns`]
6bac0 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 2d 63 6f 6c 75 6d 6e 73 2d 74 61 62 6c 65 29 (#-select-columns-columns-table)
6bae0 2c 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 73 65 6c 65 63 ,.[`-select-by-indices`](#-selec
6bb00 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 0a 0a 60 60 60 65 t-by-indices-indices-list)..```e
6bb20 6c 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 20 27 28 28 31 20 32 20 33 29 20 28 61 l.(-select-column.1.'((1.2.3).(a
6bb40 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 62 20 3a 62 .b.c).(:a.:b.:c))).;;.=>.(2.b.:b
6bb60 29 0a 60 60 60 0a 0a 23 23 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 0a 46 75 6e 63 74 69 6f 6e ).```..##.List.to.list..Function
6bb80 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 74 s.returning.a.modified.copy.of.t
6bba0 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 6b 65 65 70 20 60 28 66 6e 20 he.input.list...####.-keep.`(fn.
6bbc0 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 list)`..Return.a.new.list.of.the
6bbe0 20 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 .non-`nil`.results.of.applying.`
6bc00 66 6e 60 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2e 0a 4c 69 6b 65 fn`.to.each.item.in.`list`..Like
6bc20 20 5b 60 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 64 2d 6c 69 73 74 29 .[`-filter`](#-filter-pred-list)
6bc40 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 ,.but.returns.the.non-`nil`.resu
6bc60 6c 74 73 20 6f 66 20 60 66 6e 60 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 63 6f 72 72 65 lts.of.`fn`.instead.of.the.corre
6bc80 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 49 74 sponding.elements.of.`list`...It
6bca0 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6b 65 s.anaphoric.counterpart.is.`--ke
6bcc0 65 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 28 31 20 32 20 ep`...```el.(-keep.#'cdr.'((1.2.
6bce0 33 29 20 28 34 20 35 29 20 28 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 33 29 20 28 35 29 29 3).(4.5).(6))).;;.=>.((2.3).(5))
6bd00 0a 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 .(-keep.(lambda.(n).(and.(>.n.3)
6bd20 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d .(*.10.n))).'(1.2.3.4.5.6)).;;.=
6bd40 3e 20 28 34 30 20 35 30 20 36 30 29 0a 28 2d 2d 6b 65 65 70 20 28 61 6e 64 20 28 3e 20 69 74 20 >.(40.50.60).(--keep.(and.(>.it.
6bd60 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 3).(*.10.it)).'(1.2.3.4.5.6)).;;
6bd80 20 3d 3e 20 28 34 30 20 35 30 20 36 30 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 63 61 74 .=>.(40.50.60).```..####.-concat
6bda0 20 60 28 26 72 65 73 74 20 73 65 71 75 65 6e 63 65 73 29 60 0a 0a 43 6f 6e 63 61 74 65 6e 61 74 .`(&rest.sequences)`..Concatenat
6bdc0 65 20 61 6c 6c 20 60 73 65 71 75 65 6e 63 65 73 60 20 61 6e 64 20 6d 61 6b 65 20 74 68 65 20 72 e.all.`sequences`.and.make.the.r
6bde0 65 73 75 6c 74 20 61 20 6c 69 73 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 esult.a.list..The.result.is.a.li
6be00 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 65 6c 65 6d 65 6e st.whose.elements.are.the.elemen
6be20 74 73 20 6f 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 45 61 63 68 20 61 72 ts.of.all.the.arguments..Each.ar
6be40 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 76 65 63 74 6f 72 20 6f 72 20 gument.may.be.a.list,.vector.or.
6be60 73 74 72 69 6e 67 2e 0a 0a 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 65 78 63 65 70 74 20 74 68 string...All.arguments.except.th
6be80 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 61 72 65 20 63 6f 70 69 65 64 2e 20 20 54 68 65 e.last.argument.are.copied...The
6bea0 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73 20 6a 75 73 74 20 75 73 65 64 20 61 73 20 74 .last.argument.is.just.used.as.t
6bec0 68 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 6e 65 77 20 6c 69 73 74 2e 20 20 49 66 20 74 68 65 he.tail.of.the.new.list...If.the
6bee0 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 0a 61 20 6c 69 73 74 2c 20 74 68 .last.argument.is.not.a.list,.th
6bf00 69 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 0a 0a 41 73 is.results.in.a.dotted.list...As
6bf20 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2c 20 69 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 .an.exception,.if.all.the.argume
6bf40 6e 74 73 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 61 72 65 20 60 6e 69 6c 60 2c 20 61 nts.except.the.last.are.`nil`,.a
6bf60 6e 64 20 74 68 65 0a 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 nd.the.last.argument.is.not.a.li
6bf80 73 74 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 61 74 20 6c 61 73 st,.the.return.value.is.that.las
6bfa0 74 20 61 72 67 75 6d 65 6e 74 0a 75 6e 61 6c 74 65 72 65 64 2c 20 6e 6f 74 20 61 20 6c 69 73 74 t.argument.unaltered,.not.a.list
6bfc0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 31 ...```el.(-concat.'(1)).;;.=>.(1
6bfe0 29 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 ).(-concat.'(1).'(2)).;;.=>.(1.2
6c000 29 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 34 29 29 20 3b 3b 20 ).(-concat.'(1).'(2.3).'(4)).;;.
6c020 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6c 61 74 74 65 6e 20 =>.(1.2.3.4).```..####.-flatten.
6c040 60 28 6c 29 60 0a 0a 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 60 6c 60 20 61 6e `(l)`..Take.a.nested.list.`l`.an
6c060 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 73 69 6e 67 6c d.return.its.contents.as.a.singl
6c080 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 e,.flat.list...Note.that.because
6c0a0 20 60 6e 69 6c 60 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 7a 65 72 6f .`nil`.represents.a.list.of.zero
6c0c0 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d .elements.(an.empty.list),.any.m
6c0e0 65 6e 74 69 6f 6e 20 6f 66 20 60 6e 69 6c 60 20 69 6e 20 60 6c 60 20 77 69 6c 6c 20 64 69 73 61 ention.of.`nil`.in.`l`.will.disa
6c100 70 70 65 61 72 20 61 66 74 65 72 0a 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 ppear.after.flattening...If.you.
6c120 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 need.to.preserve.nils,.consider.
6c140 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 6d 2d 6c [`-flatten-n`](#-flatten-n-num-l
6c160 69 73 74 29 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 71 75 65 20 ist).or.map.them.to.some.unique.
6c180 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a symbol.and.then.map.them.back...
6c1a0 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 Conses.of.two.atoms.are.consider
6c1c0 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 65 79 0a 61 72 ed."terminals",.that.is,.they.ar
6c1e0 65 6e 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 53 65 65 20 61 6c 73 en't.flattened.further...See.als
6c200 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 o:.[`-flatten-n`](#-flatten-n-nu
6c220 6d 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 m-list)..```el.(-flatten.'((1)))
6c240 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 .;;.=>.(1).(-flatten.'((1.(2.3).
6c260 28 28 28 34 20 28 35 29 29 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 (((4.(5))))))).;;.=>.(1.2.3.4.5)
6c280 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e 20 34 29 29 29 20 3b 3b 20 3d 3e .(-flatten.'(1.2.(3...4))).;;.=>
6c2a0 20 28 31 20 32 20 28 33 20 2e 20 34 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6c 61 74 74 65 .(1.2.(3...4)).```..####.-flatte
6c2c0 6e 2d 6e 20 60 28 6e 75 6d 20 6c 69 73 74 29 60 0a 0a 46 6c 61 74 74 65 6e 20 60 6e 75 6d 60 20 n-n.`(num.list)`..Flatten.`num`.
6c2e0 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 60 6c 69 73 74 60 2e 0a 0a 53 65 65 20 levels.of.a.nested.`list`...See.
6c300 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6c 29 0a also:.[`-flatten`](#-flatten-l).
6c320 0a 60 60 60 65 6c 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 28 28 31 20 32 29 20 28 28 33 .```el.(-flatten-n.1.'((1.2).((3
6c340 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 28 33 20 34 29 20 .4).((5.6))))).;;.=>.(1.2.(3.4).
6c360 28 28 35 20 36 29 29 29 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 20 28 ((5.6))).(-flatten-n.2.'((1.2).(
6c380 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 (3.4).((5.6))))).;;.=>.(1.2.3.4.
6c3a0 28 35 20 36 29 29 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 (5.6)).(-flatten-n.3.'((1.2).((3
6c3c0 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 .4).((5.6))))).;;.=>.(1.2.3.4.5.
6c3e0 36 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 20 60 28 6f 6c 64 20 6e 65 77 20 6).```..####.-replace.`(old.new.
6c400 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 61 6c 6c 20 60 6f 6c 64 60 20 69 74 65 6d 73 20 list)`..Replace.all.`old`.items.
6c420 69 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 60 6e 65 77 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 in.`list`.with.`new`...Elements.
6c440 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 are.compared.using.`equal`...See
6c460 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 .also:.[`-replace-at`](#-replace
6c480 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 20 31 -at-n-x-list)..```el.(-replace.1
6c4a0 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 22 31 ."1".'(1.2.3.4.3.2.1)).;;.=>.("1
6c4c0 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 28 2d 72 65 70 6c 61 63 65 20 22 66 6f 6f 22 ".2.3.4.3.2."1").(-replace."foo"
6c4e0 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 ."bar".'("a"."nice"."foo"."sente
6c500 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 22 20 nce"."about"."foo")).;;.=>.("a".
6c520 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 "nice"."bar"."sentence"."about".
6c540 22 62 61 72 22 29 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 "bar").(-replace.1.2.nil).;;.=>.
6c560 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 60 28 6f nil.```..####.-replace-first.`(o
6c580 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 ld.new.list)`..Replace.the.first
6c5a0 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 60 6f 6c 64 60 20 77 69 74 68 20 60 6e 65 77 60 20 .occurrence.of.`old`.with.`new`.
6c5c0 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 in.`list`...Elements.are.compare
6c5e0 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d d.using.`equal`...See.also:.[`-m
6c600 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 72 73 74 2d 70 72 65 64 2d 72 65 70 2d ap-first`](#-map-first-pred-rep-
6c620 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 list)..```el.(-replace-first.1."
6c640 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 1".'(1.2.3.4.3.2.1)).;;.=>.("1".
6c660 32 20 33 20 34 20 33 20 32 20 31 29 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 22 66 6f 2.3.4.3.2.1).(-replace-first."fo
6c680 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e o"."bar".'("a"."nice"."foo"."sen
6c6a0 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 tence"."about"."foo")).;;.=>.("a
6c6c0 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 "."nice"."bar"."sentence"."about
6c6e0 22 20 22 66 6f 6f 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 32 20 6e 69 6c "."foo").(-replace-first.1.2.nil
6c700 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 2d 6c ).;;.=>.nil.```..####.-replace-l
6c720 61 73 74 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 74 68 ast.`(old.new.list)`..Replace.th
6c740 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 60 6f 6c 64 60 20 77 69 74 68 20 e.last.occurrence.of.`old`.with.
6c760 60 6e 65 77 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 `new`.in.`list`...Elements.are.c
6c780 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f ompared.using.`equal`...See.also
6c7a0 3a 20 5b 60 2d 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d 70 72 65 64 2d :.[`-map-last`](#-map-last-pred-
6c7c0 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 rep-list)..```el.(-replace-last.
6c7e0 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 31 1."1".'(1.2.3.4.3.2.1)).;;.=>.(1
6c800 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 .2.3.4.3.2."1").(-replace-last."
6c820 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 foo"."bar".'("a"."nice"."foo"."s
6c840 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d 3e 20 28 entence"."about"."foo")).;;.=>.(
6c860 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f "a"."nice"."foo"."sentence"."abo
6c880 75 74 22 20 22 62 61 72 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 ut"."bar").(-replace-last.1.2.ni
6c8a0 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 73 65 72 74 2d 61 l).;;.=>.nil.```..####.-insert-a
6c8c0 74 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 t.`(n.x.list)`..Return.a.list.wi
6c8e0 74 68 20 60 78 60 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 60 6c 69 73 74 60 20 61 74 20 70 th.`x`.inserted.into.`list`.at.p
6c900 6f 73 69 74 69 6f 6e 20 60 6e 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 osition.`n`...See.also:.[`-splic
6c920 65 60 5d 28 23 2d 73 70 6c 69 63 65 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d e`](#-splice-pred-fun-list),.[`-
6c940 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 73 74 2d 70 72 65 64 splice-list`](#-splice-list-pred
6c960 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 73 65 72 74 2d -new-list-list)..```el.(-insert-
6c980 61 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 61 20 78 20 62 20 63 at.1.'x.'(a.b.c)).;;.=>.(a.x.b.c
6c9a0 29 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 29 29 20 3b 3b ).(-insert-at.12.'x.'(a.b.c)).;;
6c9c0 20 3d 3e 20 28 61 20 62 20 63 20 78 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 .=>.(a.b.c.x).```..####.-replace
6c9e0 2d 61 74 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 -at.`(n.x.list)`..Return.a.list.
6ca00 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 60 6e 60 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 with.element.at.`n`th.position.i
6ca20 6e 20 60 6c 69 73 74 60 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 60 78 60 2e 0a 0a 53 65 65 n.`list`.replaced.with.`x`...See
6ca40 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 70 6c 61 63 65 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6f 6c .also:.[`-replace`](#-replace-ol
6ca60 64 2d 6e 65 77 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 d-new-list)..```el.(-replace-at.
6ca80 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 39 20 31 20 32 0.9.'(0.1.2.3.4.5)).;;.=>.(9.1.2
6caa0 20 33 20 34 20 35 29 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 .3.4.5).(-replace-at.1.9.'(0.1.2
6cac0 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 28 2d 72 .3.4.5)).;;.=>.(0.9.2.3.4.5).(-r
6cae0 65 70 6c 61 63 65 2d 61 74 20 34 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b eplace-at.4.9.'(0.1.2.3.4.5)).;;
6cb00 20 3d 3e 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 75 70 64 .=>.(0.1.2.3.9.5).```..####.-upd
6cb20 61 74 65 2d 61 74 20 60 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 60 0a 0a 55 73 65 20 60 66 75 6e ate-at.`(n.func.list)`..Use.`fun
6cb40 63 60 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 20 60 6e 60 74 68 20 65 6c 65 6d 65 6e 74 20 6f c`.to.update.the.`n`th.element.o
6cb60 66 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 f.`list`..Return.a.copy.of.`list
6cb80 60 20 77 68 65 72 65 20 74 68 65 20 60 6e 60 74 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 70 `.where.the.`n`th.element.is.rep
6cba0 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 0a 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 laced.with.the.result.of.calling
6cbc0 20 60 66 75 6e 63 60 20 6f 6e 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 .`func`.on.it...See.also:.[`-map
6cbe0 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 -when`](#-map-when-pred-rep-list
6cc00 29 0a 0a 60 60 60 65 6c 0a 28 2d 75 70 64 61 74 65 2d 61 74 20 30 20 28 6c 61 6d 62 64 61 20 28 )..```el.(-update-at.0.(lambda.(
6cc20 78 29 20 28 2b 20 78 20 39 29 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d x).(+.x.9)).'(0.1.2.3.4.5)).;;.=
6cc40 3e 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 28 2d 75 70 64 61 74 65 2d 61 74 20 31 20 28 6c >.(9.1.2.3.4.5).(-update-at.1.(l
6cc60 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 ambda.(x).(+.x.8)).'(0.1.2.3.4.5
6cc80 29 29 20 3b 3b 20 3d 3e 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 28 2d 2d 75 70 64 61 74 65 )).;;.=>.(0.9.2.3.4.5).(--update
6cca0 2d 61 74 20 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 -at.2.(length.it).'("foo"."bar".
6ccc0 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 20 3b 3b 20 3d 3e 20 28 22 66 6f 6f 22 20 22 62 61 72 "baz"."quux")).;;.=>.("foo"."bar
6cce0 22 20 33 20 22 71 75 75 78 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 61 74 ".3."quux").```..####.-remove-at
6cd00 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 .`(n.list)`..Return.`list`.with.
6cd20 69 74 73 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 60 6e 60 20 72 65 6d 6f 76 65 64 its.element.at.index.`n`.removed
6cd40 2e 0a 54 68 61 74 20 69 73 2c 20 72 65 6d 6f 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 ..That.is,.remove.any.element.se
6cd60 6c 65 63 74 65 64 20 61 73 20 28 6e 74 68 20 60 6e 60 20 60 6c 69 73 74 60 29 20 66 72 6f 6d 20 lected.as.(nth.`n`.`list`).from.
6cd80 60 6c 69 73 74 60 0a 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 `list`.and.return.the.result...T
6cda0 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 his.is.a.non-destructive.operati
6cdc0 6f 6e 3a 20 70 61 72 74 73 20 6f 66 20 60 6c 69 73 74 60 20 28 62 75 74 20 6e 6f 74 0a 6e 65 63 on:.parts.of.`list`.(but.not.nec
6cde0 65 73 73 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 essarily.all.of.it).are.copied.a
6ce00 73 20 6e 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 s.needed.to.avoid.destructively.
6ce20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 6d 6f modifying.it...See.also:.[`-remo
6ce40 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 ve-at-indices`](#-remove-at-indi
6ce60 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 ces-indices-list),.[`-remove`](#
6ce80 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d -remove-pred-list)...```el.(-rem
6cea0 6f 76 65 2d 61 74 20 30 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 62 20 63 29 0a 28 ove-at.0.'(a.b.c)).;;.=>.(b.c).(
6cec0 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 61 20 -remove-at.1.'(a.b.c)).;;.=>.(a.
6cee0 63 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e c).(-remove-at.2.'(a.b.c)).;;.=>
6cf00 20 28 61 20 62 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 .(a.b).```..####.-remove-at-indi
6cf20 63 65 73 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 60 6c 69 ces.`(indices.list)`..Return.`li
6cf40 73 74 60 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 60 69 6e 64 69 63 65 st`.with.its.elements.at.`indice
6cf60 73 60 20 72 65 6d 6f 76 65 64 2e 0a 54 68 61 74 20 69 73 2c 20 66 6f 72 20 65 61 63 68 20 69 6e s`.removed..That.is,.for.each.in
6cf80 64 65 78 20 60 69 60 20 69 6e 20 60 69 6e 64 69 63 65 73 60 2c 20 72 65 6d 6f 76 65 20 61 6e 79 dex.`i`.in.`indices`,.remove.any
6cfa0 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 0a 61 73 20 28 6e 74 68 20 60 69 60 20 60 6c .element.selected.as.(nth.`i`.`l
6cfc0 69 73 74 60 29 20 66 72 6f 6d 20 60 6c 69 73 74 60 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6e 6f ist`).from.`list`...This.is.a.no
6cfe0 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 73 20 6f n-destructive.operation:.parts.o
6d000 66 20 60 6c 69 73 74 60 20 28 62 75 74 20 6e 6f 74 0a 6e 65 63 65 73 73 61 72 69 6c 79 20 61 6c f.`list`.(but.not.necessarily.al
6d020 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 20 74 6f l.of.it).are.copied.as.needed.to
6d040 20 61 76 6f 69 64 0a 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f 64 69 66 79 69 6e 67 20 69 .avoid.destructively.modifying.i
6d060 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 60 5d 28 23 2d 72 t...See.also:.[`-remove-at`](#-r
6d080 65 6d 6f 76 65 2d 61 74 2d 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 2d emove-at-n-list),.[`-remove`](#-
6d0a0 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f remove-pred-list)...```el.(-remo
6d0c0 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 ve-at-indices.'(0).'(a.b.c.d.e))
6d0e0 20 3b 3b 20 3d 3e 20 28 62 20 63 20 64 20 65 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 .;;.=>.(b.c.d.e).(-remove-at-ind
6d100 69 63 65 73 20 27 28 31 20 33 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 20 3b 3b 20 3d 3e 20 ices.'(1.3).'(a.b.c.d.e)).;;.=>.
6d120 28 61 20 63 20 65 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 34 20 (a.c.e).(-remove-at-indices.'(4.
6d140 30 20 32 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 20 3b 3b 20 3d 3e 20 28 62 20 64 29 0a 60 0.2).'(a.b.c.d.e)).;;.=>.(b.d).`
6d160 60 60 0a 0a 23 23 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 64 ``..##.Reductions..Functions.red
6d180 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 20 28 77 ucing.lists.to.a.single.value.(w
6d1a0 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a 0a 23 23 23 23 20 hich.may.also.be.a.list)...####.
6d1c0 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 0a 52 -reduce-from.`(fn.init.list)`..R
6d1e0 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 20 60 educe.the.function.`fn`.across.`
6d200 6c 69 73 74 60 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 69 6e 69 74 60 2e 0a 52 65 74 list`,.starting.with.`init`..Ret
6d220 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 urn.the.result.of.applying.`fn`.
6d240 74 6f 20 60 69 6e 69 74 60 20 61 6e 64 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 to.`init`.and.the.first.element.
6d260 6f 66 0a 60 6c 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f of.`list`,.then.applying.`fn`.to
6d280 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d .that.result.and.the.second.elem
6d2a0 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 ent,.etc...If.`list`.is.empty,.r
6d2c0 65 74 75 72 6e 20 60 69 6e 69 74 60 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 60 66 6e eturn.`init`.without.calling.`fn
6d2e0 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f `...This.function's.anaphoric.co
6d300 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 2e 0a 0a 46 unterpart.is.`--reduce-from`...F
6d320 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 or.other.folds,.see.also.[`-redu
6d340 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 ce`](#-reduce-fn-list).and.[`-re
6d360 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 duce-r`](#-reduce-r-fn-list)...`
6d380 60 60 65 6c 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 ``el.(-reduce-from.#'-.10.'(1.2.
6d3a0 33 29 29 20 3b 3b 20 3d 3e 20 34 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 6c 69 73 74 3)).;;.=>.4.(-reduce-from.#'list
6d3c0 20 31 30 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 28 31 30 20 31 29 20 32 29 20 .10.'(1.2.3)).;;.=>.(((10.1).2).
6d3e0 33 29 0a 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 63 20 22 20 3).(--reduce-from.(concat.acc.".
6d400 22 20 69 74 29 20 22 53 54 41 52 54 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 20 3b 3b ".it)."START".'("a"."b"."c")).;;
6d420 20 3d 3e 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 .=>."START.a.b.c".```..####.-red
6d440 75 63 65 2d 72 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 0a 52 65 64 uce-r-from.`(fn.init.list)`..Red
6d460 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 20 60 6c 69 uce.the.function.`fn`.across.`li
6d480 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 69 st`.in.reverse,.starting.with.`i
6d4a0 6e 69 74 60 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 nit`..Return.the.result.of.apply
6d4c0 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 ing.`fn`.to.the.last.element.of.
6d4e0 60 6c 69 73 74 60 20 61 6e 64 0a 60 69 6e 69 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 `list`.and.`init`,.then.applying
6d500 20 60 66 6e 60 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d .`fn`.to.the.second-to-last.elem
6d520 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 60 ent.and.the.previous.result.of.`
6d540 66 6e 60 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 fn`,.etc...That.is,.the.first.ar
6d560 67 75 6d 65 6e 74 20 6f 66 20 60 66 6e 60 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c gument.of.`fn`.is.the.current.el
6d580 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 ement,.and.its.second.argument.t
6d5a0 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 60 6c 69 73 74 60 he.accumulated.value...If.`list`
6d5c0 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 60 69 6e 69 74 60 20 77 69 74 68 6f 75 74 .is.empty,.return.`init`.without
6d5e0 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 .calling.`fn`...This.function.is
6d600 20 6c 69 6b 65 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d .like.[`-reduce-from`](#-reduce-
6d620 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 from-fn-init-list).but.the.opera
6d640 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 tion.associates.from.the.right.r
6d660 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 ather.than.left...In.other.words
6d680 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 60 6c 69 73 ,.it.starts.from.the.end.of.`lis
6d6a0 74 60 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 66 t`.and.flips.the.arguments.to.`f
6d6c0 6e 60 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b 65 20 72 65 n`...Conceptually,.it.is.like.re
6d6e0 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 60 6c 69 73 74 60 20 77 69 74 placing.the.conses.in.`list`.wit
6d700 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 60 66 6e 60 2c 20 61 6e 64 0a 69 74 73 20 h.applications.of.`fn`,.and.its.
6d720 6c 61 73 74 20 6c 69 6e 6b 20 77 69 74 68 20 60 69 6e 69 74 60 2c 20 61 6e 64 20 65 76 61 6c 75 last.link.with.`init`,.and.evalu
6d740 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a ating.the.resulting.expression..
6d760 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 .This.function's.anaphoric.count
6d780 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 2e 0a 0a 46 6f erpart.is.`--reduce-r-from`...Fo
6d7a0 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 r.other.folds,.see.also.[`-reduc
6d7c0 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 e-r`](#-reduce-r-fn-list).and.[`
6d7e0 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 -reduce`](#-reduce-fn-list)...``
6d800 60 65 6c 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 `el.(-reduce-r-from.#'-.10.'(1.2
6d820 20 33 29 29 20 3b 3b 20 3d 3e 20 2d 38 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 .3)).;;.=>.-8.(-reduce-r-from.#'
6d840 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 32 20 28 33 list.10.'(1.2.3)).;;.=>.(1.(2.(3
6d860 20 31 30 29 29 29 0a 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 .10))).(--reduce-r-from.(concat.
6d880 69 74 20 22 20 22 20 61 63 63 29 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 it.".".acc)."END".'("a"."b"."c")
6d8a0 29 20 3b 3b 20 3d 3e 20 22 61 20 62 20 63 20 45 4e 44 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 ).;;.=>."a.b.c.END".```..####.-r
6d8c0 65 64 75 63 65 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 educe.`(fn.list)`..Reduce.the.fu
6d8e0 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 nction.`fn`.across.`list`..Retur
6d900 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f n.the.result.of.applying.`fn`.to
6d920 20 74 68 65 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 60 6c 69 73 74 .the.first.two.elements.of.`list
6d940 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 61 74 20 72 65 `,.then.applying.`fn`.to.that.re
6d960 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e sult.and.the.third.element,.etc.
6d980 0a 49 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 .If.`list`.contains.a.single.ele
6d9a0 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 ment,.return.it.without.calling.
6d9c0 60 66 6e 60 2e 0a 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e `fn`..If.`list`.is.empty,.return
6d9e0 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 20 77 69 74 68 .the.result.of.calling.`fn`.with
6da00 20 6e 6f 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 .no.arguments...This.function's.
6da20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 anaphoric.counterpart.is.`--redu
6da40 63 65 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 ce`...For.other.folds,.see.also.
6da60 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d 2d 66 [`-reduce-from`](#-reduce-from-f
6da80 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 n-init-list).and.[`-reduce-r`](#
6daa0 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 -reduce-r-fn-list)...```el.(-red
6dac0 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 2d 38 0a 28 2d 72 uce.#'-.'(1.2.3.4)).;;.=>.-8.(-r
6dae0 65 64 75 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 educe.#'list.'(1.2.3.4)).;;.=>.(
6db00 28 28 31 20 32 29 20 33 29 20 34 29 0a 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 61 74 20 22 ((1.2).3).4).(--reduce.(format."
6db20 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 22 %s-%d".acc.it).'(1.2.3)).;;.=>."
6db40 31 2d 32 2d 33 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 65 2d 72 20 60 28 66 6e 20 1-2-3".```..####.-reduce-r.`(fn.
6db60 6c 69 73 74 29 60 0a 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 list)`..Reduce.the.function.`fn`
6db80 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 .across.`list`.in.reverse..Retur
6dba0 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f n.the.result.of.applying.`fn`.to
6dbc0 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 60 6c 69 73 74 60 .the.last.two.elements.of.`list`
6dbe0 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 74 68 69 72 ,.then.applying.`fn`.to.the.thir
6dc00 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f d-to-last.element.and.the.previo
6dc20 75 73 20 72 65 73 75 6c 74 20 6f 66 20 60 66 6e 60 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 us.result.of.`fn`,.etc...That.is
6dc40 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 60 66 6e 60 20 69 73 0a ,.the.first.argument.of.`fn`.is.
6dc60 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 the.current.element,.and.its.sec
6dc80 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c ond.argument.the.accumulated.val
6dca0 75 65 2e 20 20 49 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 ue...If.`list`.contains.a.single
6dcc0 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c .element,.return.it.without.call
6dce0 69 6e 67 20 60 66 6e 60 2e 20 20 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 ing.`fn`...If.`list`.is.empty,.r
6dd00 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 eturn.the.result.of.calling.`fn`
6dd20 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 .with.no.arguments...This.functi
6dd40 6f 6e 20 69 73 20 6c 69 6b 65 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d on.is.like.[`-reduce`](#-reduce-
6dd60 66 6e 2d 6c 69 73 74 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 fn-list).but.the.operation.assoc
6dd80 69 61 74 65 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e iates.from.the.right.rather.than
6dda0 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 .left...In.other.words,.it.start
6ddc0 73 20 66 72 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 20 66 6c 69 s.from.the.end.of.`list`.and.fli
6dde0 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 66 6e 60 2e 20 20 43 6f 6e 63 65 ps.the.arguments.to.`fn`...Conce
6de00 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 ptually,.it.is.like.replacing.th
6de20 65 20 63 6f 6e 73 65 73 20 69 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 e.conses.in.`list`.with.applicat
6de40 69 6f 6e 73 20 6f 66 20 60 66 6e 60 2c 0a 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c 61 73 74 20 ions.of.`fn`,.ignoring.its.last.
6de60 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 link,.and.evaluating.the.resulti
6de80 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 ng.expression...This.function's.
6dea0 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 anaphoric.counterpart.is.`--redu
6dec0 63 65 2d 72 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 ce-r`...For.other.folds,.see.als
6dee0 6f 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d o.[`-reduce-r-from`](#-reduce-r-
6df00 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 65 from-fn-init-list).and.[`-reduce
6df20 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 `](#-reduce-fn-list)...```el.(-r
6df40 65 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 2d 32 educe-r.#'-.'(1.2.3.4)).;;.=>.-2
6df60 0a 28 2d 72 65 64 75 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b .(-reduce-r.#'list.'(1.2.3.4)).;
6df80 3b 20 3d 3e 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 ;.=>.(1.(2.(3.4))).(--reduce-r.(
6dfa0 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 format."%s-%d".acc.it).'(1.2.3))
6dfc0 20 3b 3b 20 3d 3e 20 22 33 2d 32 2d 31 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 .;;.=>."3-2-1".```..####.-reduct
6dfe0 69 6f 6e 73 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 ions-from.`(fn.init.list)`..Retu
6e000 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 rn.a.list.of.`fn`'s.intermediate
6e020 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 .reductions.across.`list`..That.
6e040 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 is,.a.list.of.the.intermediate.v
6e060 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 alues.of.the.accumulator.when.[`
6e080 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d 2d 66 6e 2d -reduce-from`](#-reduce-from-fn-
6e0a0 69 6e 69 74 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 init-list).(which.see).is.called
6e0c0 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 .with.the.same.arguments...This.
6e0e0 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 function's.anaphoric.counterpart
6e100 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 2e 0a 0a 46 6f 72 20 6f 74 .is.`--reductions-from`...For.ot
6e120 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e her.folds,.see.also.[`-reduction
6e140 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 s`](#-reductions-fn-list).and.[`
6e160 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 -reductions-r`](#-reductions-r-f
6e180 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f n-list)...```el.(-reductions-fro
6e1a0 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 33 29 29 20 3b 3b 20 3d 3e 20 28 30 20 32 m.#'max.0.'(2.1.4.3)).;;.=>.(0.2
6e1c0 20 32 20 34 20 34 29 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 2a 20 31 20 .2.4.4).(-reductions-from.#'*.1.
6e1e0 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 36 20 32 34 29 0a 28 '(1.2.3.4)).;;.=>.(1.1.2.6.24).(
6e200 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 --reductions-from.(format."(FN.%
6e220 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 20 s.%d)".acc.it)."INIT".'(1.2.3)).
6e240 3b 3b 20 3d 3e 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 29 22 20 22 28 46 4e ;;.=>.("INIT"."(FN.INIT.1)"."(FN
6e260 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 28 46 4e 20 49 4e .(FN.INIT.1).2)"."(FN.(FN.(FN.IN
6e280 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 IT.1).2).3)").```..####.-reducti
6e2a0 6f 6e 73 2d 72 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 0a 52 65 74 ons-r-from.`(fn.init.list)`..Ret
6e2c0 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 urn.a.list.of.`fn`'s.intermediat
6e2e0 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 60 6c 69 e.reductions.across.reversed.`li
6e300 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 st`..That.is,.a.list.of.the.inte
6e320 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 rmediate.values.of.the.accumulat
6e340 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 or.when.[`-reduce-r-from`](#-red
6e360 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 uce-r-from-fn-init-list).(which.
6e380 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 see).is.called.with.the.same.arg
6e3a0 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 uments...This.function's.anaphor
6e3c0 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d ic.counterpart.is.`--reductions-
6e3e0 72 2d 66 72 6f 6d 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 r-from`...For.other.folds,.see.a
6e400 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 lso.[`-reductions`](#-reductions
6e420 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 -fn-list).and.[`-reductions-r`](
6e440 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a #-reductions-r-fn-list)...```el.
6e460 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 (-reductions-r-from.#'max.0.'(2.
6e480 31 20 34 20 33 29 29 20 3b 3b 20 3d 3e 20 28 34 20 34 20 34 20 33 20 30 29 0a 28 2d 72 65 64 75 1.4.3)).;;.=>.(4.4.4.3.0).(-redu
6e4a0 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 20 ctions-r-from.#'*.1.'(1.2.3.4)).
6e4c0 3b 3b 20 3d 3e 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f ;;.=>.(24.24.12.4.1).(--reductio
6e4e0 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 ns-r-from.(format."(FN.%d.%s)".i
6e500 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 22 t.acc)."INIT".'(1.2.3)).;;.=>.("
6e520 28 46 4e 20 31 20 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 28 46 4e 20 (FN.1.(FN.2.(FN.3.INIT)))"."(FN.
6e540 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 22 20 22 28 46 4e 20 33 20 49 4e 49 54 29 22 20 22 49 2.(FN.3.INIT))"."(FN.3.INIT)"."I
6e560 4e 49 54 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 60 28 66 6e NIT").```..####.-reductions.`(fn
6e580 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 .list)`..Return.a.list.of.`fn`'s
6e5a0 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 .intermediate.reductions.across.
6e5c0 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 `list`..That.is,.a.list.of.the.i
6e5e0 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 ntermediate.values.of.the.accumu
6e600 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d lator.when.[`-reduce`](#-reduce-
6e620 66 6e 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 fn-list).(which.see).is.called.w
6e640 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 ith.the.same.arguments...This.fu
6e660 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 nction's.anaphoric.counterpart.i
6e680 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c s.`--reductions`...For.other.fol
6e6a0 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d 28 23 2d 72 ds,.see.also.[`-reductions`](#-r
6e6c0 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 74 eductions-fn-list).and.[`-reduct
6e6e0 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 ions-r`](#-reductions-r-fn-list)
6e700 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b 20 27 28 31 20 32 20 ...```el.(-reductions.#'+.'(1.2.
6e720 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 36 20 31 30 29 0a 28 2d 72 65 64 75 63 74 69 3.4)).;;.=>.(1.3.6.10).(-reducti
6e740 6f 6e 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 36 ons.#'*.'(1.2.3.4)).;;.=>.(1.2.6
6e760 20 32 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 .24).(--reductions.(format."(FN.
6e780 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 %s.%d)".acc.it).'(1.2.3)).;;.=>.
6e7a0 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 32 29 20 33 29 22 29 (1."(FN.1.2)"."(FN.(FN.1.2).3)")
6e7c0 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 60 28 66 6e 20 6c 69 .```..####.-reductions-r.`(fn.li
6e7e0 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e st)`..Return.a.list.of.`fn`'s.in
6e800 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 termediate.reductions.across.rev
6e820 65 72 73 65 64 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 ersed.`list`..That.is,.a.list.of
6e840 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 .the.intermediate.values.of.the.
6e860 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 accumulator.when.[`-reduce-r`](#
6e880 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 -reduce-r-fn-list).(which.see).i
6e8a0 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 s.called.with.the.same.arguments
6e8c0 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ...This.function's.anaphoric.cou
6e8e0 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 2e 0a 0a 46 nterpart.is.`--reductions-r`...F
6e900 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 or.other.folds,.see.also.[`-redu
6e920 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 ctions-r-from`](#-reductions-r-f
6e940 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 0a 5b 60 2d 72 65 64 75 63 74 69 rom-fn-init-list).and.[`-reducti
6e960 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 ons`](#-reductions-fn-list)...``
6e980 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 `el.(-reductions-r.#'+.'(1.2.3.4
6e9a0 29 29 20 3b 3b 20 3d 3e 20 28 31 30 20 39 20 37 20 34 29 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 )).;;.=>.(10.9.7.4).(-reductions
6e9c0 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 32 34 20 32 34 20 -r.#'*.'(1.2.3.4)).;;.=>.(24.24.
6e9e0 31 32 20 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 74 20 22 28 12.4).(--reductions-r.(format."(
6ea00 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 FN.%d.%s)".it.acc).'(1.2.3)).;;.
6ea20 3d 3e 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 20 33 29 22 =>.("(FN.1.(FN.2.3))"."(FN.2.3)"
6ea40 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 75 6e 74 20 60 28 70 72 65 64 20 6c 69 73 74 .3).```..####.-count.`(pred.list
6ea60 29 60 0a 0a 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 20 69 )`..Counts.the.number.of.items.i
6ea80 6e 20 60 6c 69 73 74 60 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 69 74 65 6d 29 20 69 73 20 n.`list`.where.(`pred`.item).is.
6eaa0 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 75 6e 74 20 27 65 76 65 6e 3f non-`nil`...```el.(-count.'even?
6eac0 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 32 0a 28 2d 2d 63 6f 75 6e 74 20 .'(1.2.3.4.5)).;;.=>.2.(--count.
6eae0 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 (<.it.4).'(1.2.3.4)).;;.=>.3.```
6eb00 0a 0a 23 23 23 23 20 2d 73 75 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 ..####.-sum.`(list)`..Return.the
6eb20 20 73 75 6d 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 75 6d 20 28 29 29 .sum.of.`list`...```el.(-sum.())
6eb40 20 3b 3b 20 3d 3e 20 30 0a 28 2d 73 75 6d 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d 73 .;;.=>.0.(-sum.'(1)).;;.=>.1.(-s
6eb60 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 23 23 um.'(1.2.3.4)).;;.=>.10.```..###
6eb80 23 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 #.-running-sum.`(list)`..Return.
6eba0 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d a.list.with.running.sums.of.item
6ebc0 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 60 6c 69 73 74 60 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d s.in.`list`..`list`.must.be.non-
6ebe0 65 6d 70 74 79 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 empty...```el.(-running-sum.'(1.
6ec00 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 36 20 31 30 29 0a 28 2d 72 75 6e 6e 69 2.3.4)).;;.=>.(1.3.6.10).(-runni
6ec20 6e 67 2d 73 75 6d 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 72 75 6e 6e 69 6e 67 ng-sum.'(1)).;;.=>.(1).(-running
6ec40 2d 73 75 6d 20 28 29 29 20 3b 3b 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a -sum.()).;;.Wrong.type.argument:
6ec60 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 72 6f 64 75 63 74 20 60 .consp,.nil.```..####.-product.`
6ec80 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 20 60 (list)`..Return.the.product.of.`
6eca0 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 72 6f 64 75 63 74 20 28 29 29 20 3b 3b 20 3d list`...```el.(-product.()).;;.=
6ecc0 3e 20 31 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d 70 72 >.1.(-product.'(1)).;;.=>.1.(-pr
6ece0 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 32 34 0a 60 60 60 0a 0a oduct.'(1.2.3.4)).;;.=>.24.```..
6ed00 23 23 23 23 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 60 28 6c 69 73 74 29 60 0a 0a ####.-running-product.`(list)`..
6ed20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f 64 75 Return.a.list.with.running.produ
6ed40 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 60 6c 69 73 74 60 20 6d cts.of.items.in.`list`..`list`.m
6ed60 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 75 6e 6e 69 ust.be.non-empty...```el.(-runni
6ed80 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 ng-product.'(1.2.3.4)).;;.=>.(1.
6eda0 32 20 36 20 32 34 29 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 20 2.6.24).(-running-product.'(1)).
6edc0 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 29 20 ;;.=>.(1).(-running-product.()).
6ede0 3b 3b 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e ;;.Wrong.type.argument:.consp,.n
6ee00 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 69 74 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 il.```..####.-inits.`(list)`..Re
6ee20 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 turn.all.prefixes.of.`list`...``
6ee40 60 65 6c 0a 28 2d 69 6e 69 74 73 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 6e `el.(-inits.'(1.2.3.4)).;;.=>.(n
6ee60 69 6c 20 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a il.(1).(1.2).(1.2.3).(1.2.3.4)).
6ee80 28 2d 69 6e 69 74 73 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 69 6e 69 74 73 (-inits.nil).;;.=>.(nil).(-inits
6eea0 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 .'(1)).;;.=>.(nil.(1)).```..####
6eec0 20 2d 74 61 69 6c 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 .-tails.`(list)`..Return.all.suf
6eee0 66 69 78 65 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 69 6c 73 20 fixes.of.`list`...```el.(-tails.
6ef00 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 '(1.2.3.4)).;;.=>.((1.2.3.4).(2.
6ef20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 28 2d 74 61 69 6c 73 20 6e 69 6c 29 3.4).(3.4).(4).nil).(-tails.nil)
6ef40 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 74 61 69 6c 73 20 27 28 31 29 29 20 3b 3b 20 3d 3e .;;.=>.(nil).(-tails.'(1)).;;.=>
6ef60 20 28 28 31 29 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 .((1).nil).```..####.-common-pre
6ef80 66 69 78 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 fix.`(&rest.lists)`..Return.the.
6efa0 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 60 6c 69 73 74 73 60 longest.common.prefix.of.`lists`
6efc0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 20 3b ...```el.(-common-prefix.'(1)).;
6efe0 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 20 ;.=>.(1).(-common-prefix.'(1.2).
6f000 27 28 33 20 34 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 63 6f 6d 6d 6f 6e '(3.4).'(1.2)).;;.=>.().(-common
6f020 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 -prefix.'(1.2).'(1.2.3).'(1.2.3.
6f040 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 6d 6f 4)).;;.=>.(1.2).```..####.-commo
6f060 6e 2d 73 75 66 66 69 78 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e n-suffix.`(&rest.lists)`..Return
6f080 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 60 6c .the.longest.common.suffix.of.`l
6f0a0 69 73 74 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 ists`...```el.(-common-suffix.'(
6f0c0 31 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 1)).;;.=>.(1).(-common-suffix.'(
6f0e0 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 63 1.2).'(3.4).'(1.2)).;;.=>.().(-c
6f100 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 29 ommon-suffix.'(1.2.3.4).'(2.3.4)
6f120 20 27 28 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d .'(3.4)).;;.=>.(3.4).```..####.-
6f140 6d 69 6e 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 min.`(list)`..Return.the.smalles
6f160 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f t.value.from.`list`.of.numbers.o
6f180 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 69 6e 20 27 28 30 29 29 20 3b 3b r.markers...```el.(-min.'(0)).;;
6f1a0 20 3d 3e 20 30 0a 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d .=>.0.(-min.'(3.2.1)).;;.=>.1.(-
6f1c0 6d 69 6e 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 min.'(1.2.3)).;;.=>.1.```..####.
6f1e0 2d 6d 69 6e 2d 62 79 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 54 61 6b -min-by.`(comparator.list)`..Tak
6f200 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 60 63 6f 6d 70 61 72 61 e.a.comparison.function.`compara
6f220 74 6f 72 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 tor`.and.a.`list`.and.return.the
6f240 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 .least.element.of.the.list.by.th
6f260 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f e.comparison.function...See.also
6f280 20 63 6f 6d 62 69 6e 61 74 6f 72 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e .combinator.[`-on`](#-on-op-tran
6f2a0 73 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 s).which.can.transform.the.value
6f2c0 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 60 60 60 65 6c 0a s.before.comparing.them...```el.
6f2e0 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 31 0a (-min-by.'>.'(4.3.6.1)).;;.=>.1.
6f300 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 (--min-by.(>.(car.it).(car.other
6f320 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 )).'((1.2.3).(2).(3.2))).;;.=>.(
6f340 31 20 32 20 33 29 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 1.2.3).(--min-by.(>.(length.it).
6f360 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 (length.other)).'((1.2.3).(2).(3
6f380 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 78 20 60 .2))).;;.=>.(2).```..####.-max.`
6f3a0 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c 75 (list)`..Return.the.largest.valu
6f3c0 65 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b e.from.`list`.of.numbers.or.mark
6f3e0 65 72 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 78 20 27 28 30 29 29 20 3b 3b 20 3d 3e 20 30 0a ers...```el.(-max.'(0)).;;.=>.0.
6f400 28 2d 6d 61 78 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 6d 61 78 20 27 28 (-max.'(3.2.1)).;;.=>.3.(-max.'(
6f420 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 78 2d 62 1.2.3)).;;.=>.3.```..####.-max-b
6f440 79 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 63 6f y.`(comparator.list)`..Take.a.co
6f460 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 61 mparison.function.`comparator`.a
6f480 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 74 nd.a.`list`.and.return.the.great
6f4a0 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 est.element.of.the.list.by.the.c
6f4c0 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f omparison.function...See.also.co
6f4e0 6d 62 69 6e 61 74 6f 72 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e 73 29 20 mbinator.[`-on`](#-on-op-trans).
6f500 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 which.can.transform.the.values.b
6f520 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d efore.comparing.them...```el.(-m
6f540 61 78 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 36 0a 28 2d 2d ax-by.'>.'(4.3.6.1)).;;.=>.6.(--
6f560 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 max-by.(>.(car.it).(car.other)).
6f580 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 32 '((1.2.3).(2).(3.2))).;;.=>.(3.2
6f5a0 29 0a 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 ).(--max-by.(>.(length.it).(leng
6f5c0 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 th.other)).'((1.2.3).(2).(3.2)))
6f5e0 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 72 65 71 75 65 .;;.=>.(1.2.3).```..####.-freque
6f600 6e 63 69 65 73 20 60 28 6c 69 73 74 29 60 0a 0a 43 6f 75 6e 74 20 74 68 65 20 6f 63 63 75 72 72 ncies.`(list)`..Count.the.occurr
6f620 65 6e 63 65 73 20 6f 66 20 65 61 63 68 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 20 6f ences.of.each.distinct.element.o
6f640 66 20 60 6c 69 73 74 60 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 60 f.`list`...Return.an.alist.of.(`
6f660 65 6c 65 6d 65 6e 74 60 20 2e 20 60 6e 60 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 60 65 6c 65 element`...`n`),.where.each.`ele
6f680 6d 65 6e 74 60 20 6f 63 63 75 72 73 20 60 6e 60 0a 74 69 6d 65 73 20 69 6e 20 60 6c 69 73 74 60 ment`.occurs.`n`.times.in.`list`
6f6a0 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 ...The.test.for.equality.is.done
6f6c0 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 .with.`equal`,.or.with.`-compare
6f6e0 2d 66 6e 60 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 53 65 65 20 -fn`.if.that.is.non-`nil`...See.
6f700 61 6c 73 6f 20 5b 60 2d 63 6f 75 6e 74 60 5d 28 23 2d 63 6f 75 6e 74 2d 70 72 65 64 2d 6c 69 73 also.[`-count`](#-count-pred-lis
6f720 74 29 20 61 6e 64 20 5b 60 2d 67 72 6f 75 70 2d 62 79 60 5d 28 23 2d 67 72 6f 75 70 2d 62 79 2d t).and.[`-group-by`](#-group-by-
6f740 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 fn-list)...```el.(-frequencies.(
6f760 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 27 28 31 20 32 20 )).;;.=>.().(-frequencies.'(1.2.
6f780 33 20 31 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 32 29 3.1.2.1)).;;.=>.((1...3).(2...2)
6f7a0 20 28 33 20 2e 20 31 29 29 0a 28 6c 65 74 20 28 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 27 73 .(3...1)).(let.((-compare-fn.#'s
6f7c0 74 72 69 6e 67 3d 29 29 20 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 27 28 61 20 22 61 22 29 29 tring=)).(-frequencies.'(a."a"))
6f7e0 29 20 3b 3b 20 3d 3e 20 28 28 61 20 2e 20 32 29 29 0a 60 60 60 0a 0a 23 23 20 55 6e 66 6f 6c 64 ).;;.=>.((a...2)).```..##.Unfold
6f800 69 6e 67 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f ing..Operations.dual.to.reductio
6f820 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 ns,.building.lists.from.a.seed.v
6f840 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 alue.rather.than.consuming.a.lis
6f860 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 23 23 t.to.produce.a.single.value...##
6f880 23 23 20 2d 69 74 65 72 61 74 65 20 60 28 66 75 6e 20 69 6e 69 74 20 6e 29 60 0a 0a 52 65 74 75 ##.-iterate.`(fun.init.n)`..Retu
6f8a0 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f rn.a.list.of.iterated.applicatio
6f8c0 6e 73 20 6f 66 20 60 66 75 6e 60 20 74 6f 20 60 69 6e 69 74 60 2e 0a 0a 54 68 69 73 20 6d 65 61 ns.of.`fun`.to.`init`...This.mea
6f8e0 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 28 60 69 6e ns.a.list.of.the.form:......(`in
6f900 69 74 60 20 28 60 66 75 6e 60 20 60 69 6e 69 74 60 29 20 28 60 66 75 6e 60 20 28 60 66 75 6e 60 it`.(`fun`.`init`).(`fun`.(`fun`
6f920 20 60 69 6e 69 74 60 29 29 20 2e 2e 2e 29 0a 0a 60 6e 60 20 69 73 20 74 68 65 20 6c 65 6e 67 74 .`init`))....)..`n`.is.the.lengt
6f940 68 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 h.of.the.returned.list...```el.(
6f960 2d 69 74 65 72 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 -iterate.#'1+.1.10).;;.=>.(1.2.3
6f980 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 28 2d 69 74 65 72 61 74 65 20 28 6c 61 6d 62 .4.5.6.7.8.9.10).(-iterate.(lamb
6f9a0 64 61 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 da.(x).(+.x.x)).2.5).;;.=>.(2.4.
6f9c0 38 20 31 36 20 33 32 29 0a 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 8.16.32).(--iterate.(*.it.it).2.
6f9e0 35 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 60 60 60 0a 5).;;.=>.(2.4.16.256.65536).```.
6fa00 0a 23 23 23 23 20 2d 75 6e 66 6f 6c 64 20 60 28 66 75 6e 20 73 65 65 64 29 60 0a 0a 42 75 69 6c .####.-unfold.`(fun.seed)`..Buil
6fa20 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 60 73 65 65 64 60 20 75 73 69 6e 67 20 60 66 75 6e 60 d.a.list.from.`seed`.using.`fun`
6fa40 2e 0a 0a 54 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 5b ...This.is."dual".operation.to.[
6fa60 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 `-reduce-r`](#-reduce-r-fn-list)
6fa80 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 :.while.-reduce-r.consumes.a.lis
6faa0 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 5b 60 2d t.to.produce.a.single.value,.[`-
6fac0 75 6e 66 6f 6c 64 60 5d 28 23 2d 75 6e 66 6f 6c 64 2d 66 75 6e 2d 73 65 65 64 29 20 74 61 6b 65 unfold`](#-unfold-fun-seed).take
6fae0 73 20 61 0a 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 s.a.seed.value.and.builds.a.(pot
6fb00 65 6e 74 69 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 60 66 75 6e 60 entially.infinite!).list...`fun`
6fb20 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 60 6e 69 6c 60 20 74 6f 20 73 74 6f 70 20 74 68 65 .should.return.`nil`.to.stop.the
6fb40 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 .generating.process,.or.a.cons.(
6fb60 60 61 60 20 2e 20 60 62 60 29 2c 20 77 68 65 72 65 20 60 61 60 20 77 69 6c 6c 20 62 65 20 70 72 `a`...`b`),.where.`a`.will.be.pr
6fb80 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 60 62 60 20 69 73 epended.to.the.result.and.`b`.is
6fba0 0a 74 68 65 20 6e 65 77 20 73 65 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 66 6f 6c 64 20 28 .the.new.seed...```el.(-unfold.(
6fbc0 6c 61 6d 62 64 61 20 28 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 lambda.(x).(unless.(=.x.0).(cons
6fbe0 20 78 20 28 31 2d 20 78 29 29 29 29 20 31 30 29 20 3b 3b 20 3d 3e 20 28 31 30 20 39 20 38 20 37 .x.(1-.x)))).10).;;.=>.(10.9.8.7
6fc00 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 .6.5.4.3.2.1).(--unfold.(when.it
6fc20 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 .(cons.it.(cdr.it))).'(1.2.3.4))
6fc40 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 .;;.=>.((1.2.3.4).(2.3.4).(3.4).
6fc60 28 34 29 29 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 (4)).(--unfold.(when.it.(cons.it
6fc80 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d .(butlast.it))).'(1.2.3.4)).;;.=
6fca0 3e 20 28 28 31 20 32 20 33 20 34 29 20 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a >.((1.2.3.4).(1.2.3).(1.2).(1)).
6fcc0 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 65 61 74 20 60 28 6e 20 78 29 60 0a 0a 52 65 74 75 72 ```..####.-repeat.`(n.x)`..Retur
6fce0 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 60 6e 60 20 77 69 74 68 20 n.a.new.list.of.length.`n`.with.
6fd00 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 60 78 60 2e 0a 52 65 74 75 72 6e 20 60 each.element.being.`x`..Return.`
6fd20 6e 69 6c 60 20 69 66 20 60 6e 60 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 60 60 60 nil`.if.`n`.is.less.than.1...```
6fd40 65 6c 0a 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 3a 61 20 3a 61 20 3a el.(-repeat.3.:a).;;.=>.(:a.:a.:
6fd60 61 29 0a 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 3a 61 29 0a 28 2d 72 a).(-repeat.1.:a).;;.=>.(:a).(-r
6fd80 65 70 65 61 74 20 30 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d epeat.0.:a).;;.=>.().```..####.-
6fda0 63 79 63 6c 65 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 cycle.`(list)`..Return.an.infini
6fdc0 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a 54 68 65 20 te.circular.copy.of.`list`..The.
6fde0 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 74 68 65 returned.list.cycles.through.the
6fe00 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 70 65 61 74 73 0a .elements.of.`list`.and.repeats.
6fe20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b from.the.beginning...```el.(-tak
6fe40 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 e.5.(-cycle.'(1.2.3))).;;.=>.(1.
6fe60 32 20 33 20 31 20 32 29 0a 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 2.3.1.2).(-take.7.(-cycle.'(1."a
6fe80 6e 64 22 20 33 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 22 61 6e 64 22 20 33 20 31 20 22 61 6e 64 nd".3))).;;.=>.(1."and".3.1."and
6fea0 22 20 33 20 31 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 28 2d 63 79 63 6c 65 20 27 28 33 29 29 ".3.1).(-zip-lists.(-cycle.'(3))
6fec0 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 28 33 20 31 29 20 28 33 20 32 29 29 0a 60 60 60 .'(1.2)).;;.=>.((3.1).(3.2)).```
6fee0 0a 0a 23 23 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 6f ..##.Predicates..Reductions.of.o
6ff00 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 ne.or.more.lists.to.a.boolean.va
6ff20 6c 75 65 2e 0a 0a 23 23 23 23 20 2d 73 6f 6d 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a lue...####.-some.`(pred.list)`..
6ff40 52 65 74 75 72 6e 20 28 60 70 72 65 64 60 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 Return.(`pred`.x).for.the.first.
6ff60 60 6c 69 73 74 60 20 69 74 65 6d 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 78 29 20 69 73 20 `list`.item.where.(`pred`.x).is.
6ff80 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 65 6c 73 65 20 60 6e 69 6c 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 non-`nil`,.else.`nil`...Alias:.`
6ffa0 2d 61 6e 79 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 -any`...This.function's.anaphori
6ffc0 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 73 6f 6d 65 60 2e 0a 0a 60 60 60 65 c.counterpart.is.`--some`...```e
6ffe0 6c 0a 28 2d 73 6f 6d 65 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 20 3b l.(-some.#'stringp.'(1."2".3)).;
70000 3b 20 3d 3e 20 74 0a 28 2d 2d 73 6f 6d 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 ;.=>.t.(--some.(string-match-p."
70020 78 22 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 61 78 65 22 20 22 78 6f 72 22 29 29 20 3b 3b 20 x".it).'("foo"."axe"."xor")).;;.
70040 3d 3e 20 31 0a 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 78 20 33 29 20 27 28 30 20 =>.1.(--some.(=.it-index.3).'(0.
70060 31 20 32 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 76 65 72 79 1.2)).;;.=>.nil.```..####.-every
70080 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 .`(pred.list)`..Return.non-`nil`
700a0 20 69 66 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 20 66 6f 72 .if.`pred`.returns.non-`nil`.for
700c0 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 49 66 20 73 6f 2c 20 72 65 74 .all.items.in.`list`..If.so,.ret
700e0 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 urn.the.last.such.result.of.`pre
70100 64 60 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 d`...Otherwise,.once.an.item.is.
70120 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 reached.for.which.`pred`.returns
70140 20 60 6e 69 6c 60 2c 20 72 65 74 75 72 6e 20 60 6e 69 6c 60 20 77 69 74 68 6f 75 74 0a 63 61 6c .`nil`,.return.`nil`.without.cal
70160 6c 69 6e 67 20 60 70 72 65 64 60 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 60 6c 69 73 74 ling.`pred`.on.any.further.`list
70180 60 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 `.elements...This.function.is.li
701a0 6b 65 20 60 2d 65 76 65 72 79 2d 70 60 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 ke.`-every-p`,.but.on.success.re
701c0 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 turns.the.last.non-`nil`.result.
701e0 6f 66 20 60 70 72 65 64 60 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 60 74 60 2e 0a 0a of.`pred`.instead.of.just.`t`...
70200 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 This.function's.anaphoric.counte
70220 72 70 61 72 74 20 69 73 20 60 2d 2d 65 76 65 72 79 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 65 76 65 rpart.is.`--every`...```el.(-eve
70240 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 ry.#'numberp.'(1.2.3)).;;.=>.t.(
70260 2d 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 --every.(string-match-p."x".it).
70280 27 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 2d 65 76 65 72 79 '("axe"."xor")).;;.=>.0.(--every
702a0 20 28 3d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 20 3b 3b 20 3d 3e .(=.it.it-index).'(0.1.3)).;;.=>
702c0 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 79 3f 20 60 28 70 72 65 64 20 6c 69 73 74 .nil.```..####.-any?.`(pred.list
702e0 29 60 0a 0a 52 65 74 75 72 6e 20 60 74 60 20 69 66 20 28 60 70 72 65 64 60 20 60 78 60 29 20 69 )`..Return.`t`.if.(`pred`.`x`).i
70300 73 20 6e 6f 6e 2d 60 6e 69 6c 60 20 66 6f 72 20 61 6e 79 20 60 78 60 20 69 6e 20 60 6c 69 73 74 s.non-`nil`.for.any.`x`.in.`list
70320 60 2c 20 65 6c 73 65 20 60 6e 69 6c 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 2d 70 60 2c `,.else.`nil`...Alias:.`-any-p`,
70340 20 60 2d 73 6f 6d 65 3f 60 2c 20 60 2d 73 6f 6d 65 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 61 6e .`-some?`,.`-some-p`..```el.(-an
70360 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 30 20 74 29 29 20 3b 3b 20 3d 3e 20 74 y?.#'numberp.'(nil.0.t)).;;.=>.t
70380 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 74 20 74 29 29 20 3b 3b .(-any?.#'numberp.'(nil.t.t)).;;
703a0 20 3d 3e 20 6e 69 6c 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 29 20 .=>.nil.(-any?.#'null.'(1.3.5)).
703c0 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6c 6c 3f 20 60 28 70 72 65 64 ;;.=>.nil.```..####.-all?.`(pred
703e0 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 60 74 60 20 69 66 20 28 60 70 72 65 64 60 20 60 .list)`..Return.`t`.if.(`pred`.`
70400 78 60 29 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 20 66 6f 72 20 61 6c 6c 20 60 78 60 20 69 6e 20 x`).is.non-`nil`.for.all.`x`.in.
70420 60 6c 69 73 74 60 2c 20 65 6c 73 65 20 60 6e 69 6c 60 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 65 `list`,.else.`nil`..In.the.latte
70440 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 60 78 60 r.case,.stop.after.the.first.`x`
70460 20 66 6f 72 20 77 68 69 63 68 20 28 60 70 72 65 64 60 20 60 78 60 29 20 69 73 0a 60 6e 69 6c 60 .for.which.(`pred`.`x`).is.`nil`
70480 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 60 70 72 65 64 60 20 6f 6e 20 61 6e 79 20 ,.without.calling.`pred`.on.any.
704a0 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a subsequent.elements.of.`list`...
704c0 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 5b 60 2d 65 76 65 72 79 60 5d 28 The.similar.function.[`-every`](
704e0 23 2d 65 76 65 72 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c #-every-pred-list).is.more.widel
70500 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 6c y.useful,.since.it.returns.the.l
70520 61 73 74 20 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 20 69 ast.non-`nil`.result.of.`pred`.i
70540 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 60 74 60 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a nstead.of.just.`t`.on.success...
70560 41 6c 69 61 73 3a 20 60 2d 61 6c 6c 2d 70 60 2c 20 60 2d 65 76 65 72 79 2d 70 60 2c 20 60 2d 65 Alias:.`-all-p`,.`-every-p`,.`-e
70580 76 65 72 79 3f 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 very?`...This.function's.anaphor
705a0 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6c 6c 3f 60 2e 0a 0a 60 60 60 ic.counterpart.is.`--all?`...```
705c0 65 6c 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 20 3b 3b el.(-all?.#'numberp.'(1.2.3)).;;
705e0 20 3d 3e 20 74 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 29 .=>.t.(-all?.#'numberp.'(2.t.6))
70600 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 .;;.=>.nil.(--all?.(=.0.(%.it.2)
70620 29 20 27 28 32 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e ).'(2.4.6)).;;.=>.t.```..####.-n
70640 6f 6e 65 3f 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 60 74 60 20 69 one?.`(pred.list)`..Return.`t`.i
70660 66 20 28 60 70 72 65 64 60 20 60 78 60 29 20 69 73 20 60 6e 69 6c 60 20 66 6f 72 20 61 6c 6c 20 f.(`pred`.`x`).is.`nil`.for.all.
70680 60 78 60 20 69 6e 20 60 6c 69 73 74 60 2c 20 65 6c 73 65 20 60 6e 69 6c 60 2e 0a 0a 41 6c 69 61 `x`.in.`list`,.else.`nil`...Alia
706a0 73 3a 20 60 2d 6e 6f 6e 65 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 s:.`-none-p`..```el.(-none?.'eve
706c0 6e 3f 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 6e 6f 6e 65 3f 20 27 n?.'(1.2.3)).;;.=>.nil.(-none?.'
706e0 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 2d 6e 6f 6e 65 3f even?.'(1.3.5)).;;.=>.t.(--none?
70700 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 .(=.0.(%.it.2)).'(1.2.3)).;;.=>.
70720 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 60 28 70 72 65 64 nil.```..####.-only-some?.`(pred
70740 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 60 74 60 20 69 66 20 64 69 66 66 65 72 65 6e 74 .list)`..Return.`t`.if.different
70760 20 60 6c 69 73 74 60 20 69 74 65 6d 73 20 62 6f 74 68 20 73 61 74 69 73 66 79 20 61 6e 64 20 64 .`list`.items.both.satisfy.and.d
70780 6f 20 6e 6f 74 20 73 61 74 69 73 66 79 20 60 70 72 65 64 60 2e 0a 54 68 61 74 20 69 73 2c 20 69 o.not.satisfy.`pred`..That.is,.i
707a0 66 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 62 6f 74 68 20 60 6e 69 6c 60 20 66 6f 72 20 f.`pred`.returns.both.`nil`.for.
707c0 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 2c 20 61 6e 64 0a 6e 6f 6e 2d 60 6e 69 6c 60 at.least.one.item,.and.non-`nil`
707e0 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 69 74 65 6d 20 69 6e 20 .for.at.least.one.other.item.in.
70800 60 6c 69 73 74 60 2e 20 20 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 61 6c 6c 0a 69 74 65 `list`...Return.`nil`.if.all.ite
70820 6d 73 20 73 61 74 69 73 66 79 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 6f 72 20 6e 6f 6e 65 ms.satisfy.the.predicate.or.none
70840 20 6f 66 20 74 68 65 6d 20 64 6f 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 .of.them.do...Alias:.`-only-some
70860 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 -p`..```el.(-only-some?.'even?.'
70880 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 (1.2.3)).;;.=>.t.(-only-some?.'e
708a0 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 6f 6e 6c 79 2d ven?.'(1.3.5)).;;.=>.nil.(-only-
708c0 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c some?.'even?.'(2.4.6)).;;.=>.nil
708e0 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 60 28 6c 69 73 74 20 65 6c 65 .```..####.-contains?.`(list.ele
70900 6d 65 6e 74 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 60 6c 69 73 ment)`..Return.non-`nil`.if.`lis
70920 74 60 20 63 6f 6e 74 61 69 6e 73 20 60 65 6c 65 6d 65 6e 74 60 2e 0a 0a 54 68 65 20 74 65 73 74 t`.contains.`element`...The.test
70940 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 .for.equality.is.done.with.`equa
70960 6c 60 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 0a 69 66 20 74 68 61 l`,.or.with.`-compare-fn`.if.tha
70980 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 20 20 41 73 20 77 69 74 68 20 60 6d 65 6d 62 65 72 t.is.non-`nil`...As.with.`member
709a0 60 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 61 63 74 75 61 6c 6c 79 20 `,.the.return.value.is.actually.
709c0 74 68 65 20 74 61 69 6c 20 6f 66 20 60 6c 69 73 74 60 20 77 68 6f 73 65 20 63 61 72 20 69 73 20 the.tail.of.`list`.whose.car.is.
709e0 60 65 6c 65 6d 65 6e 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 61 69 6e 73 2d 70 60 `element`...Alias:.`-contains-p`
70a00 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 31 29 ...```el.(-contains?.'(1.2.3).1)
70a20 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 .;;.=>.(1.2.3).(-contains?.'(1.2
70a40 20 33 29 20 32 29 20 3b 3b 20 3d 3e 20 28 32 20 33 29 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 .3).2).;;.=>.(2.3).(-contains?.'
70a60 28 31 20 32 20 33 29 20 34 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 (1.2.3).4).;;.=>.().```..####.-i
70a80 73 2d 70 72 65 66 69 78 3f 20 60 28 70 72 65 66 69 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 s-prefix?.`(prefix.list)`..Retur
70aa0 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 60 70 72 65 66 69 78 60 20 69 73 20 61 20 70 72 65 n.non-`nil`.if.`prefix`.is.a.pre
70ac0 66 69 78 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 70 72 65 66 fix.of.`list`...Alias:.`-is-pref
70ae0 69 78 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 ix-p`...```el.(-is-prefix?.'(1.2
70b00 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 73 2d 70 .3).'(1.2.3.4.5)).;;.=>.t.(-is-p
70b20 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b refix?.'(1.2.3.4.5).'(1.2.3)).;;
70b40 20 3d 3e 20 6e 69 6c 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 33 29 20 27 28 31 20 .=>.nil.(-is-prefix?.'(1.3).'(1.
70b60 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 2.3.4.5)).;;.=>.nil.```..####.-i
70b80 73 2d 73 75 66 66 69 78 3f 20 60 28 73 75 66 66 69 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 s-suffix?.`(suffix.list)`..Retur
70ba0 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 60 73 75 66 66 69 78 60 20 69 73 20 61 20 73 75 66 n.non-`nil`.if.`suffix`.is.a.suf
70bc0 66 69 78 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 73 75 66 66 fix.of.`list`...Alias:.`-is-suff
70be0 69 78 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 ix-p`...```el.(-is-suffix?.'(3.4
70c00 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 73 2d 73 .5).'(1.2.3.4.5)).;;.=>.t.(-is-s
70c20 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 35 29 29 20 3b 3b uffix?.'(1.2.3.4.5).'(3.4.5)).;;
70c40 20 3d 3e 20 6e 69 6c 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 28 31 20 .=>.nil.(-is-suffix?.'(3.5).'(1.
70c60 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 2.3.4.5)).;;.=>.nil.```..####.-i
70c80 73 2d 69 6e 66 69 78 3f 20 60 28 69 6e 66 69 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 s-infix?.`(infix.list)`..Return.
70ca0 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 60 69 6e 66 69 78 60 20 69 73 20 69 6e 66 69 78 20 6f 66 non-`nil`.if.`infix`.is.infix.of
70cc0 20 60 6c 69 73 74 60 2e 0a 0a 54 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e .`list`...This.operation.runs.in
70ce0 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 69 6e 66 69 78 2d .O(n^2).time..Alias:.`-is-infix-
70d00 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 27 p`..```el.(-is-infix?.'(1.2.3).'
70d20 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 73 2d 69 6e 66 69 78 3f (1.2.3.4.5)).;;.=>.t.(-is-infix?
70d40 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a .'(2.3.4).'(1.2.3.4.5)).;;.=>.t.
70d60 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 (-is-infix?.'(3.4.5).'(1.2.3.4.5
70d80 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 73 2d 70 61 69 72 3f )).;;.=>.t.```..####.-cons-pair?
70da0 20 60 28 6f 62 6a 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 60 6f .`(obj)`..Return.non-`nil`.if.`o
70dc0 62 6a 60 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 0a 54 68 61 74 20 69 73 bj`.is.a.true.cons.pair..That.is
70de0 2c 20 61 20 63 6f 6e 73 20 28 60 61 60 20 2e 20 60 62 60 29 20 77 68 65 72 65 20 60 62 60 20 69 ,.a.cons.(`a`...`b`).where.`b`.i
70e00 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 73 2d 70 61 69 s.not.a.list...Alias:.`-cons-pai
70e20 72 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 r-p`...```el.(-cons-pair?.'(1...
70e40 32 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 2)).;;.=>.t.(-cons-pair?.'(1.2))
70e60 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 29 29 20 3b 3b .;;.=>.nil.(-cons-pair?.'(1)).;;
70e80 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 0a 46 75 .=>.nil.```..##.Partitioning..Fu
70ea0 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 6c nctions.partitioning.the.input.l
70ec0 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 23 23 23 23 20 ist.into.a.list.of.lists...####.
70ee0 2d 73 70 6c 69 74 2d 61 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 60 6c 69 73 -split-at.`(n.list)`..Split.`lis
70f00 74 60 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 60 t`.into.two.sublists.after.the.`
70f20 6e 60 74 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 n`th.element..The.result.is.a.li
70f40 73 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 60 74 61 6b 65 60 20 60 64 72 6f 70 st.of.two.elements.(`take`.`drop
70f60 60 29 20 77 68 65 72 65 20 60 74 61 6b 65 60 20 69 73 20 61 0a 6e 65 77 20 6c 69 73 74 20 6f 66 `).where.`take`.is.a.new.list.of
70f80 20 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 .the.first.`n`.elements.of.`list
70fa0 60 2c 20 61 6e 64 20 60 64 72 6f 70 60 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 `,.and.`drop`.is.the.remaining.e
70fc0 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 lements.of.`list`.(not.a.copy)..
70fe0 20 60 74 61 6b 65 60 20 61 6e 64 20 60 64 72 6f 70 60 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 20 .`take`.and.`drop`.are.like.the.
71000 72 65 73 75 6c 74 73 20 6f 66 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d 74 61 6b 65 2d 6e 2d 6c 69 results.of.[`-take`](#-take-n-li
71020 73 74 29 20 61 6e 64 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 74 29 st).and.[`-drop`](#-drop-n-list)
71040 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 20 73 70 6c 69 74 0a 69 73 ,.respectively,.but.the.split.is
71060 20 64 6f 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 72 73 61 6c .done.in.a.single.list.traversal
71080 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 ...```el.(-split-at.3.'(1.2.3.4.
710a0 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 28 2d 73 70 6c 69 5)).;;.=>.((1.2.3).(4.5)).(-spli
710c0 74 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 t-at.17.'(1.2.3.4.5)).;;.=>.((1.
710e0 32 20 33 20 34 20 35 29 20 6e 69 6c 29 0a 28 2d 73 70 6c 69 74 2d 61 74 20 30 20 27 28 31 20 32 2.3.4.5).nil).(-split-at.0.'(1.2
71100 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 .3.4.5)).;;.=>.(nil.(1.2.3.4.5))
71120 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 60 28 70 72 65 64 20 6c 69 .```..####.-split-with.`(pred.li
71140 73 74 29 60 0a 0a 53 70 6c 69 74 20 60 6c 69 73 74 60 20 69 6e 74 6f 20 61 20 70 72 65 66 69 78 st)`..Split.`list`.into.a.prefix
71160 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 2c 20 61 6e 64 20 74 68 65 20 72 65 73 74 .satisfying.`pred`,.and.the.rest
71180 2e 0a 54 68 65 20 66 69 72 73 74 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 65 20 70 72 65 66 69 ..The.first.sublist.is.the.prefi
711a0 78 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d x.of.`list`.with.successive.elem
711c0 65 6e 74 73 0a 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 2c 20 61 6e 64 20 74 68 65 20 ents.satisfying.`pred`,.and.the.
711e0 73 65 63 6f 6e 64 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 second.sublist.is.the.remaining.
71200 65 6c 65 6d 65 6e 74 73 0a 74 68 61 74 20 64 6f 20 6e 6f 74 2e 20 20 54 68 65 20 72 65 73 75 6c elements.that.do.not...The.resul
71220 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 6d 69 6e 67 0a 0a 20 20 20 20 28 28 2d 74 61 6b t.is.like.performing......((-tak
71240 65 2d 77 68 69 6c 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 20 28 2d 64 72 6f 70 2d 77 68 e-while.`pred`.`list`).(-drop-wh
71260 69 6c 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 29 0a 0a 62 75 74 20 69 6e 20 6e 6f 20 6d ile.`pred`.`list`))..but.in.no.m
71280 6f 72 65 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 60 ore.than.a.single.pass.through.`
712a0 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e list`...```el.(-split-with.'even
712c0 3f 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 20 32 20 33 20 ?.'(1.2.3.4)).;;.=>.(nil.(1.2.3.
712e0 34 29 29 0a 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 4)).(-split-with.'even?.'(2.4.5.
71300 36 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 34 29 20 28 35 20 36 29 29 0a 28 2d 2d 73 70 6c 69 74 6)).;;.=>.((2.4).(5.6)).(--split
71320 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 -with.(<.it.4).'(1.2.3.4.3.2.1))
71340 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 33 20 32 20 31 29 29 0a 60 60 60 0a 0a .;;.=>.((1.2.3).(4.3.2.1)).```..
71360 23 23 23 23 20 2d 73 70 6c 69 74 2d 6f 6e 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 53 70 ####.-split-on.`(item.list)`..Sp
71380 6c 69 74 20 74 68 65 20 60 6c 69 73 74 60 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 20 lit.the.`list`.each.time.`item`.
713a0 69 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c 69 6b 65 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 is.found...Unlike.[`-partition-b
713c0 79 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 2c 20 74 68 65 y`](#-partition-by-fn-list),.the
713e0 20 60 69 74 65 6d 60 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 .`item`.is.discarded.from.the.re
71400 73 75 6c 74 73 2e 0a 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f sults..Empty.lists.are.also.remo
71420 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6d 70 61 72 69 73 6f 6e ved.from.the.result...Comparison
71440 20 69 73 20 64 6f 6e 65 20 62 79 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b .is.done.by.`equal`...See.also.[
71460 60 2d 73 70 6c 69 74 2d 77 68 65 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 77 68 65 6e 2d 66 6e 2d 6c `-split-when`](#-split-when-fn-l
71480 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 ist)..```el.(-split-on.'|.'(Nil.
714a0 7c 20 4c 65 61 66 20 61 20 7c 20 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 20 3b 3b 20 3d 3e |.Leaf.a.|.Node.[Tree.a])).;;.=>
714c0 20 28 28 4e 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 .((Nil).(Leaf.a).(Node.[Tree.a])
714e0 29 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 ).(-split-on.:endgroup.'("a"."b"
71500 20 3a 65 6e 64 67 72 6f 75 70 20 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 .:endgroup."c".:endgroup."d"."e"
71520 29 29 20 3b 3b 20 3d 3e 20 28 28 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 )).;;.=>.(("a"."b").("c").("d"."
71540 65 22 29 29 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 e")).(-split-on.:endgroup.'("a".
71560 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 "b".:endgroup.:endgroup."d"."e")
71580 29 20 3b 3b 20 3d 3e 20 28 28 22 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 60 60 ).;;.=>.(("a"."b").("d"."e")).``
715a0 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 74 2d 77 68 65 6e 20 60 28 66 6e 20 6c 69 73 74 29 60 0a `..####.-split-when.`(fn.list)`.
715c0 0a 53 70 6c 69 74 20 74 68 65 20 60 6c 69 73 74 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e .Split.the.`list`.on.each.elemen
715e0 74 20 77 68 65 72 65 20 60 66 6e 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a t.where.`fn`.returns.non-`nil`..
71600 0a 55 6e 6c 69 6b 65 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 .Unlike.[`-partition-by`](#-part
71620 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 ition-by-fn-list),.the."matched"
71640 20 65 6c 65 6d 65 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 .element.is.discarded.from.the.r
71660 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 esults...Empty.lists.are.also.re
71680 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e moved.from.the.result...This.fun
716a0 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e ction.can.be.thought.of.as.a.gen
716c0 65 72 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 60 2e 0a 0a eralization.of.`split-string`...
716e0 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 ```el.(-split-when.'even?.'(1.2.
71700 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 28 2d 3.4.5.6)).;;.=>.((1).(3).(5)).(-
71720 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 36 20 38 20 split-when.'even?.'(1.2.3.4.6.8.
71740 39 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 33 29 20 28 39 29 29 0a 28 2d 2d 73 70 6c 69 74 9)).;;.=>.((1).(3).(9)).(--split
71760 2d 77 68 65 6e 20 28 6d 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 -when.(memq.it.'(&optional.&rest
71780 29 29 20 27 28 61 20 62 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 )).'(a.b.&optional.c.d.&rest.arg
717a0 73 29 29 20 3b 3b 20 3d 3e 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 67 73 29 29 0a 60 s)).;;.=>.((a.b).(c.d).(args)).`
717c0 60 60 0a 0a 23 23 23 23 20 2d 73 65 70 61 72 61 74 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 ``..####.-separate.`(pred.list)`
717e0 0a 0a 53 70 6c 69 74 20 60 6c 69 73 74 60 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 ..Split.`list`.into.two.sublists
71800 20 62 61 73 65 64 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 .based.on.whether.items.satisfy.
71820 60 70 72 65 64 60 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f `pred`..The.result.is.like.perfo
71840 72 6d 69 6e 67 0a 0a 20 20 20 20 28 28 2d 66 69 6c 74 65 72 20 60 70 72 65 64 60 20 60 6c 69 73 rming......((-filter.`pred`.`lis
71860 74 60 29 20 28 2d 72 65 6d 6f 76 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 29 0a 0a 62 75 t`).(-remove.`pred`.`list`))..bu
71880 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 60 6c 69 73 74 t.in.a.single.pass.through.`list
718a0 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 70 61 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 `...```el.(-separate.(lambda.(nu
718c0 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 m).(=.0.(%.num.2))).'(1.2.3.4.5.
718e0 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 6.7)).;;.=>.((2.4.6).(1.3.5.7)).
71900 28 2d 2d 73 65 70 61 72 61 74 65 20 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 39 20 33 (--separate.(<.it.5).'(3.7.5.9.3
71920 20 32 20 31 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 .2.1.4.6)).;;.=>.((3.3.2.1.4).(7
71940 20 35 20 39 20 36 29 29 0a 28 2d 73 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 28 31 20 32 29 .5.9.6)).(-separate.'cdr.'((1.2)
71960 20 28 31 29 20 28 31 20 32 20 33 29 20 28 34 29 29 29 20 3b 3b 20 3d 3e 20 28 28 28 31 20 32 29 .(1).(1.2.3).(4))).;;.=>.(((1.2)
71980 20 28 31 20 32 20 33 29 29 20 28 28 31 29 20 28 34 29 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d .(1.2.3)).((1).(4))).```..####.-
719a0 70 61 72 74 69 74 69 6f 6e 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e partition.`(n.list)`..Return.a.n
719c0 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 ew.list.with.the.items.in.`list`
719e0 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 .grouped.into.`n`-sized.sublists
71a00 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 ..If.there.are.not.enough.items.
71a20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 60 6e 60 2d 73 69 7a 65 64 to.make.the.last.group.`n`-sized
71a40 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 60 60 ,.those.items.are.discarded...``
71a60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 `el.(-partition.2.'(1.2.3.4.5.6)
71a80 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 ).;;.=>.((1.2).(3.4).(5.6)).(-pa
71aa0 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d rtition.2.'(1.2.3.4.5.6.7)).;;.=
71ac0 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f >.((1.2).(3.4).(5.6)).(-partitio
71ae0 6e 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 n.3.'(1.2.3.4.5.6.7)).;;.=>.((1.
71b00 32 20 33 29 20 28 34 20 35 20 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 2.3).(4.5.6)).```..####.-partiti
71b20 6f 6e 2d 61 6c 6c 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 on-all.`(n.list)`..Return.a.new.
71b40 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 list.with.the.items.in.`list`.gr
71b60 6f 75 70 65 64 20 69 6e 74 6f 20 60 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 ouped.into.`n`-sized.sublists..T
71b80 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 he.last.group.may.contain.less.t
71ba0 68 61 6e 20 60 6e 60 20 69 74 65 6d 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f han.`n`.items...```el.(-partitio
71bc0 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 n-all.2.'(1.2.3.4.5.6)).;;.=>.((
71be0 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 1.2).(3.4).(5.6)).(-partition-al
71c00 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 l.2.'(1.2.3.4.5.6.7)).;;.=>.((1.
71c20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 2).(3.4).(5.6).(7)).(-partition-
71c40 61 6c 6c 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 all.3.'(1.2.3.4.5.6.7)).;;.=>.((
71c60 31 20 32 20 33 29 20 28 34 20 35 20 36 29 20 28 37 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 1.2.3).(4.5.6).(7)).```..####.-p
71c80 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 artition-in-steps.`(n.step.list)
71ca0 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 60 6c 69 73 74 60 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 `..Partition.`list`.into.sublist
71cc0 73 20 6f 66 20 6c 65 6e 67 74 68 20 60 6e 60 20 74 68 61 74 20 61 72 65 20 60 73 74 65 70 60 20 s.of.length.`n`.that.are.`step`.
71ce0 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 4c 69 6b 65 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 items.apart..Like.[`-partition-a
71d00 6c 6c 2d 69 6e 2d 73 74 65 70 73 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e ll-in-steps`](#-partition-all-in
71d20 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 73 74 29 2c 20 62 75 74 20 69 66 20 74 68 65 72 -steps-n-step-list),.but.if.ther
71d40 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 0a 74 6f 20 6d 61 6b 65 20 74 e.are.not.enough.items.to.make.t
71d60 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 60 6e 60 2d 73 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 he.last.group.`n`-sized,.those.i
71d80 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 tems.are.discarded...```el.(-par
71da0 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 20 tition-in-steps.2.1.'(1.2.3.4)).
71dc0 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 28 2d 70 61 72 74 ;;.=>.((1.2).(2.3).(3.4)).(-part
71de0 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 20 3b ition-in-steps.3.2.'(1.2.3.4)).;
71e00 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 ;.=>.((1.2.3)).(-partition-in-st
71e20 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 eps.3.2.'(1.2.3.4.5)).;;.=>.((1.
71e40 32 20 33 29 20 28 33 20 34 20 35 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 2.3).(3.4.5)).```..####.-partiti
71e60 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 60 0a on-all-in-steps.`(n.step.list)`.
71e80 0a 50 61 72 74 69 74 69 6f 6e 20 60 6c 69 73 74 60 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 .Partition.`list`.into.sublists.
71ea0 6f 66 20 6c 65 6e 67 74 68 20 60 6e 60 20 74 68 61 74 20 61 72 65 20 60 73 74 65 70 60 20 69 74 of.length.`n`.that.are.`step`.it
71ec0 65 6d 73 20 61 70 61 72 74 2e 0a 41 64 6a 61 63 65 6e 74 20 67 72 6f 75 70 73 20 6d 61 79 20 6f ems.apart..Adjacent.groups.may.o
71ee0 76 65 72 6c 61 70 20 69 66 20 60 6e 60 20 65 78 63 65 65 64 73 20 74 68 65 20 60 73 74 65 70 60 verlap.if.`n`.exceeds.the.`step`
71f00 20 73 74 72 69 64 65 2e 0a 54 72 61 69 6c 69 6e 67 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e .stride..Trailing.groups.may.con
71f20 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 60 6e 60 20 69 74 65 6d 73 2e 0a 0a 60 60 60 65 6c tain.less.than.`n`.items...```el
71f40 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 .(-partition-all-in-steps.2.1.'(
71f60 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 1.2.3.4)).;;.=>.((1.2).(2.3).(3.
71f80 34 29 20 28 34 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 4).(4)).(-partition-all-in-steps
71fa0 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 .3.2.'(1.2.3.4)).;;.=>.((1.2.3).
71fc0 28 33 20 34 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 (3.4)).(-partition-all-in-steps.
71fe0 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 3.2.'(1.2.3.4.5)).;;.=>.((1.2.3)
72000 20 28 33 20 34 20 35 29 20 28 35 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 .(3.4.5).(5)).```..####.-partiti
72020 6f 6e 2d 62 79 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f on-by.`(fn.list)`..Apply.`fn`.to
72040 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2c 20 73 70 6c 69 74 74 69 6e 67 20 .each.item.in.`list`,.splitting.
72060 69 74 20 65 61 63 68 20 74 69 6d 65 20 60 66 6e 60 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 it.each.time.`fn`.returns.a.new.
72080 76 61 6c 75 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 value...```el.(-partition-by.'ev
720a0 65 6e 3f 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 en?.()).;;.=>.().(-partition-by.
720c0 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 20 3b 3b 20 'even?.'(1.1.2.2.2.3.4.6.8)).;;.
720e0 3d 3e 20 28 28 31 20 31 29 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 28 =>.((1.1).(2.2.2).(3).(4.6.8)).(
72100 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 --partition-by.(<.it.3).'(1.2.3.
72120 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 4.3.2.1)).;;.=>.((1.2).(3.4.3).(
72140 32 20 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 2.1)).```..####.-partition-by-he
72160 61 64 65 72 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 ader.`(fn.list)`..Apply.`fn`.to.
72180 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2e 20 54 68 61 74 20 69 the.first.item.in.`list`..That.i
721a0 73 20 74 68 65 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 60 66 6e 60 20 74 s.the.header.value..Apply.`fn`.t
721c0 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2c 20 73 70 6c 69 74 74 69 6e 67 o.each.item.in.`list`,.splitting
721e0 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 60 66 6e 60 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 .it.each.time.`fn`.returns.the.h
72200 65 61 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 eader.value,.but.only.after.seei
72220 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 28 74 68 65 ng.at.least.one.other.value.(the
72240 20 62 6f 64 79 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 .body)...```el.(--partition-by-h
72260 65 61 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 eader.(=.it.1).'(1.2.3.1.2.1.2.3
72280 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 .4)).;;.=>.((1.2.3).(1.2).(1.2.3
722a0 20 34 29 29 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3e 20 69 .4)).(--partition-by-header.(>.i
722c0 74 20 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 31 20 32 20 33 20 30 29 29 20 3b 3b 20 3d 3e t.0).'(1.2.0.1.0.1.2.3.0)).;;.=>
722e0 20 28 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 28 2d 70 61 72 .((1.2.0).(1.0).(1.2.3.0)).(-par
72300 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e 3f 20 27 28 32 20 31 20 31 20 tition-by-header.'even?.'(2.1.1.
72320 31 20 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 31 20 31 20 1.4.1.3.5.6.6.1)).;;.=>.((2.1.1.
72340 31 29 20 28 34 20 31 20 33 20 35 29 20 28 36 20 36 20 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 1).(4.1.3.5).(6.6.1)).```..####.
72360 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 60 28 70 72 65 64 20 6c 69 73 -partition-after-pred.`(pred.lis
72380 74 29 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 60 6c 69 73 74 60 20 61 66 74 65 72 20 65 61 63 68 t)`..Partition.`list`.after.each
723a0 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e .element.for.which.`pred`.return
723c0 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e s.non-`nil`...This.function's.an
723e0 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 70 61 72 74 69 74 aphoric.counterpart.is.`--partit
72400 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 ion-after-pred`...```el.(-partit
72420 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 20 3b 3b ion-after-pred.#'booleanp.()).;;
72440 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 .=>.().(-partition-after-pred.#'
72460 62 6f 6f 6c 65 61 6e 70 20 27 28 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 74 29 20 28 74 29 29 booleanp.'(t.t)).;;.=>.((t).(t))
72480 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 .(-partition-after-pred.#'boolea
724a0 6e 70 20 27 28 30 20 30 20 74 20 74 20 30 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 30 20 74 np.'(0.0.t.t.0.t)).;;.=>.((0.0.t
724c0 29 20 28 74 29 20 28 30 20 74 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f ).(t).(0.t)).```..####.-partitio
724e0 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 50 61 72 n-before-pred.`(pred.list)`..Par
72500 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 tition.directly.before.each.time
72520 20 60 70 72 65 64 60 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 .`pred`.is.true.on.an.element.of
72540 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f .`list`...```el.(-partition-befo
72560 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a re-pred.#'booleanp.()).;;.=>.().
72580 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 (-partition-before-pred.#'boolea
725a0 6e 70 20 27 28 30 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 29 20 28 74 29 29 0a 28 2d 70 61 72 np.'(0.t)).;;.=>.((0).(t)).(-par
725c0 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 tition-before-pred.#'booleanp.'(
725e0 30 20 30 20 74 20 30 20 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 30 29 20 28 74 20 30 29 0.0.t.0.t.t)).;;.=>.((0.0).(t.0)
72600 20 28 74 29 20 28 74 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 .(t).(t)).```..####.-partition-b
72620 65 66 6f 72 65 2d 69 74 65 6d 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 efore-item.`(item.list)`..Partit
72640 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 60 69 ion.directly.before.each.time.`i
72660 74 65 6d 60 20 61 70 70 65 61 72 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 tem`.appears.in.`list`...```el.(
72680 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 28 29 29 20 3b 3b 20 -partition-before-item.3.()).;;.
726a0 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 =>.().(-partition-before-item.3.
726c0 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 '(1)).;;.=>.((1)).(-partition-be
726e0 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 33 29 29 20 3b 3b 20 3d 3e 20 28 28 33 29 29 0a 60 60 fore-item.3.'(3)).;;.=>.((3)).``
72700 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 60 28 `..####.-partition-after-item.`(
72720 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 item.list)`..Partition.directly.
72740 61 66 74 65 72 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 20 61 70 70 65 61 72 73 20 69 after.each.time.`item`.appears.i
72760 6e 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 n.`list`...```el.(-partition-aft
72780 65 72 2d 69 74 65 6d 20 33 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 er-item.3.()).;;.=>.().(-partiti
727a0 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 on-after-item.3.'(1)).;;.=>.((1)
727c0 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 ).(-partition-after-item.3.'(3))
727e0 20 3b 3b 20 3d 3e 20 28 28 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 6f 75 70 2d 62 79 .;;.=>.((3)).```..####.-group-by
72800 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 53 65 70 61 72 61 74 65 20 60 6c 69 73 74 60 20 69 6e .`(fn.list)`..Separate.`list`.in
72820 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 60 66 6e 60 20 to.an.alist.whose.keys.are.`fn`.
72840 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 applied.to.the.elements.of.`list
72860 60 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 60 65 71 75 61 6c 60 `...Keys.are.compared.by.`equal`
72880 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 20 3b ...```el.(-group-by.'even?.()).;
728a0 3b 20 3d 3e 20 28 29 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 ;.=>.().(-group-by.'even?.'(1.1.
728c0 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c 20 31 20 31 20 2.2.2.3.4.6.8)).;;.=>.((nil.1.1.
728e0 33 29 20 28 74 20 32 20 32 20 32 20 34 20 36 20 38 29 29 0a 28 2d 2d 67 72 6f 75 70 2d 62 79 20 3).(t.2.2.2.4.6.8)).(--group-by.
72900 28 63 61 72 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 (car.(split-string.it."/")).'("a
72920 2f 62 22 20 22 63 2f 64 22 20 22 61 2f 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 22 61 22 20 22 61 /b"."c/d"."a/e")).;;.=>.(("a"."a
72940 2f 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 60 60 60 0a 0a 23 23 20 /b"."a/e").("c"."c/d")).```..##.
72960 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f Indexing..Functions.retrieving.o
72980 72 20 73 6f 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 r.sorting.based.on.list.indices.
729a0 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 23 23 23 23 20 2d 65 and.related.predicates...####.-e
729c0 6c 65 6d 2d 69 6e 64 65 78 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 lem-index.`(elem.list)`..Return.
729e0 74 68 65 20 66 69 72 73 74 20 69 6e 64 65 78 20 6f 66 20 60 65 6c 65 6d 60 20 69 6e 20 60 6c 69 the.first.index.of.`elem`.in.`li
72a00 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 60 st`..That.is,.the.index.within.`
72a20 6c 69 73 74 60 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 74 68 61 74 20 list`.of.the.first.element.that.
72a40 69 73 0a 60 65 71 75 61 6c 60 20 74 6f 20 60 65 6c 65 6d 60 2e 20 20 52 65 74 75 72 6e 20 60 6e is.`equal`.to.`elem`...Return.`n
72a60 69 6c 60 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e il`.if.there.is.no.such.element.
72a80 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 69 6e 64 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 ..See.also:.[`-find-index`](#-fi
72aa0 6e 64 2d 69 6e 64 65 78 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 65 6c nd-index-pred-list)...```el.(-el
72ac0 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 6e em-index.2.'(6.7.8.3.4)).;;.=>.n
72ae0 69 6c 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 il.(-elem-index."bar".'("foo"."b
72b00 61 72 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 ar"."baz")).;;.=>.1.(-elem-index
72b20 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 20 .'(1.2).'((3).(5.6).(1.2).nil)).
72b40 3b 3b 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 ;;.=>.2.```..####.-elem-indices.
72b60 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f `(elem.list)`..Return.the.list.o
72b80 66 20 69 6e 64 69 63 65 73 20 61 74 20 77 68 69 63 68 20 60 65 6c 65 6d 60 20 61 70 70 65 61 72 f.indices.at.which.`elem`.appear
72ba0 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 69 63 65 s.in.`list`..That.is,.the.indice
72bc0 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 60 65 71 75 s.of.all.elements.of.`list`.`equ
72be0 61 6c 60 20 74 6f 20 60 65 6c 65 6d 60 2c 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 61 73 63 65 6e al`.to.`elem`,.in.the.same.ascen
72c00 64 69 6e 67 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 60 6c 69 ding.order.as.they.appear.in.`li
72c20 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 st`...```el.(-elem-indices.2.'(6
72c40 20 37 20 38 20 33 20 34 20 31 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 65 6c 65 6d 2d 69 6e 64 .7.8.3.4.1)).;;.=>.().(-elem-ind
72c60 69 63 65 73 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 ices."bar".'("foo"."bar"."baz"))
72c80 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 .;;.=>.(1).(-elem-indices.'(1.2)
72ca0 20 27 28 28 33 29 20 28 31 20 32 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 20 3b .'((3).(1.2).(5.6).(1.2).nil)).;
72cc0 3b 20 3d 3e 20 28 31 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 69 6e 64 65 78 ;.=>.(1.3).```..####.-find-index
72ce0 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 .`(pred.list)`..Return.the.index
72d00 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 .of.the.first.item.satisfying.`p
72d20 72 65 64 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 red`.in.`list`..Return.`nil`.if.
72d40 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 60 70 72 65 64 60 20 69 no.such.item.is.found...`pred`.i
72d60 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 s.called.with.one.argument,.the.
72d80 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2c 20 75 6e 74 69 6c 0a 69 74 20 72 current.list.element,.until.it.r
72da0 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 eturns.non-`nil`,.at.which.point
72dc0 20 74 68 65 20 73 65 61 72 63 68 20 74 65 72 6d 69 6e 61 74 65 73 2e 0a 0a 54 68 69 73 20 66 75 .the.search.terminates...This.fu
72de0 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 nction's.anaphoric.counterpart.i
72e00 73 20 60 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d s.`--find-index`...See.also:.[`-
72e20 66 69 72 73 74 60 5d 28 23 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 2c 20 5b 60 2d 66 first`](#-first-pred-list),.[`-f
72e40 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 ind-last-index`](#-find-last-ind
72e60 65 78 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6e 64 2d 69 6e 64 ex-pred-list)...```el.(-find-ind
72e80 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c ex.#'numberp.'(a.b.c)).;;.=>.nil
72ea0 0a 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 30 20 2d 31 .(-find-index.#'natnump.'(1.0.-1
72ec0 29 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3e 20 69 74 20 35 )).;;.=>.0.(--find-index.(>.it.5
72ee0 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 ).'(2.4.1.6.3.3.5.8)).;;.=>.3.``
72f00 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 60 28 70 72 65 64 20 `..####.-find-last-index.`(pred.
72f20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 list)`..Return.the.index.of.the.
72f40 6c 61 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 20 69 6e 20 60 last.item.satisfying.`pred`.in.`
72f60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 6e 6f 20 73 75 63 68 20 69 list`..Return.`nil`.if.no.such.i
72f80 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 50 72 65 64 69 63 61 74 65 20 60 70 72 65 64 60 20 tem.is.found...Predicate.`pred`.
72fa0 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 65 61 63 68 is.called.with.one.argument.each
72fc0 20 74 69 6d 65 2c 20 6e 61 6d 65 6c 79 20 74 68 65 0a 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 .time,.namely.the.current.list.e
72fe0 6c 65 6d 65 6e 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 lement...This.function's.anaphor
73000 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 ic.counterpart.is.`--find-last-i
73020 6e 64 65 78 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6c 61 73 74 60 5d 28 23 2d 6c 61 ndex`...See.also:.[`-last`](#-la
73040 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 2c 20 5b 60 2d 66 69 6e 64 2d 69 6e 64 65 78 60 5d 28 23 st-pred-list),.[`-find-index`](#
73060 2d 66 69 6e 64 2d 69 6e 64 65 78 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 -find-index-pred-list)...```el.(
73080 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 -find-last-index.#'numberp.'(a.b
730a0 20 63 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 .c)).;;.=>.nil.(--find-last-inde
730c0 78 20 28 3e 20 69 74 20 35 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 20 3b x.(>.it.5).'(2.7.1.6.3.8.5.2)).;
730e0 3b 20 3d 3e 20 35 0a 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 ;.=>.5.(-find-last-index.(-parti
73100 61 6c 20 23 27 73 74 72 69 6e 67 3c 20 27 61 29 20 27 28 63 20 62 20 61 29 29 20 3b 3b 20 3d 3e al.#'string<.'a).'(c.b.a)).;;.=>
73120 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 60 28 70 72 65 .1.```..####.-find-indices.`(pre
73140 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 d.list)`..Return.the.list.of.ind
73160 69 63 65 73 20 69 6e 20 60 6c 69 73 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 ices.in.`list`.satisfying.`pred`
73180 2e 0a 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 20 69 6e 20 74 75 72 ...Each.element.of.`list`.in.tur
731a0 6e 20 69 73 20 70 61 73 73 65 64 20 74 6f 20 60 70 72 65 64 60 2e 20 20 49 66 20 74 68 65 20 72 n.is.passed.to.`pred`...If.the.r
731c0 65 73 75 6c 74 20 69 73 0a 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 74 68 65 20 69 6e 64 65 78 20 6f 66 esult.is.non-`nil`,.the.index.of
731e0 20 74 68 61 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 60 6c 69 73 74 60 20 69 73 20 69 6e 63 6c 75 .that.element.in.`list`.is.inclu
73200 64 65 64 20 69 6e 20 74 68 65 0a 72 65 73 75 6c 74 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 ded.in.the.result...The.returned
73220 20 69 6e 64 69 63 65 73 20 61 72 65 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2c .indices.are.in.ascending.order,
73240 20 69 2e 65 2e 2c 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 .i.e.,.in.the.same.order.as.they
73260 20 61 70 70 65 61 72 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f .appear.in.`list`...This.functio
73280 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d n's.anaphoric.counterpart.is.`--
732a0 66 69 6e 64 2d 69 6e 64 69 63 65 73 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 69 6e find-indices`...See.also:.[`-fin
732c0 64 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 65 78 2d 70 72 65 64 2d 6c 69 73 74 d-index`](#-find-index-pred-list
732e0 29 2c 20 5b 60 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 65 6c 65 6d 2d 69 6e 64 69 ),.[`-elem-indices`](#-elem-indi
73300 63 65 73 2d 65 6c 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6e 64 2d 69 6e ces-elem-list)...```el.(-find-in
73320 64 69 63 65 73 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 dices.#'numberp.'(a.b.c)).;;.=>.
73340 28 29 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 23 27 6e 75 6d 62 65 72 70 20 27 28 38 20 ().(-find-indices.#'numberp.'(8.
73360 31 20 64 20 32 20 62 20 63 20 61 20 33 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 33 20 37 29 0a 1.d.2.b.c.a.3)).;;.=>.(0.1.3.7).
73380 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 3e 20 69 74 20 35 29 20 27 28 32 20 34 20 31 (--find-indices.(>.it.5).'(2.4.1
733a0 20 36 20 33 20 33 20 35 20 38 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 29 0a 60 60 60 0a 0a 23 23 .6.3.3.5.8)).;;.=>.(3.7).```..##
733c0 23 23 20 2d 67 72 61 64 65 2d 75 70 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 ##.-grade-up.`(comparator.list)`
733e0 0a 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 75 73 69 6e 67 ..Grade.elements.of.`list`.using
73400 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 .`comparator`.relation..This.yie
73420 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 lds.a.permutation.vector.such.th
73440 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 at.applying.this.permutation.to.
73460 60 6c 69 73 74 60 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 `list`.sorts.it.in.ascending.ord
73480 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 27 28 33 20 31 20 er...```el.(-grade-up.#'<.'(3.1.
734a0 34 20 32 20 31 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 30 20 35 20 36 20 32 4.2.1.3.3)).;;.=>.(1.4.3.0.5.6.2
734c0 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d ).(let.((l.'(3.1.4.2.1.3.3))).(-
734e0 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c select-by-indices.(-grade-up.#'<
73500 20 6c 29 20 6c 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 60 60 .l).l)).;;.=>.(1.1.2.3.3.3.4).``
73520 60 0a 0a 23 23 23 23 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 `..####.-grade-down.`(comparator
73540 20 6c 69 73 74 29 60 0a 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 .list)`..Grade.elements.of.`list
73560 60 20 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 `.using.`comparator`.relation..T
73580 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 his.yields.a.permutation.vector.
735a0 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 such.that.applying.this.permutat
735c0 69 6f 6e 20 74 6f 20 60 6c 69 73 74 60 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 65 73 63 65 6e ion.to.`list`.sorts.it.in.descen
735e0 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 ding.order...```el.(-grade-down.
73600 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 28 32 20 30 #'<.'(3.1.4.2.1.3.3)).;;.=>.(2.0
73620 20 35 20 36 20 33 20 31 20 34 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 .5.6.3.1.4).(let.((l.'(3.1.4.2.1
73640 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 .3.3))).(-select-by-indices.(-gr
73660 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 20 3b 3b 20 3d 3e 20 28 34 20 33 20 33 ade-down.#'<.l).l)).;;.=>.(4.3.3
73680 20 33 20 32 20 31 20 31 29 0a 60 60 60 0a 0a 23 23 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 .3.2.1.1).```..##.Set.operations
736a0 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 ..Operations.pretending.lists.ar
736c0 65 20 73 65 74 73 2e 0a 0a 23 23 23 23 20 2d 75 6e 69 6f 6e 20 60 28 6c 69 73 74 31 20 6c 69 73 e.sets...####.-union.`(list1.lis
736e0 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 69 t2)`..Return.a.new.list.of.disti
73700 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 65 69 74 68 65 72 nct.elements.appearing.in.either
73720 20 60 6c 69 73 74 31 60 20 6f 72 20 60 6c 69 73 74 32 60 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 .`list1`.or.`list2`...The.test.f
73740 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 or.equality.is.done.with.`equal`
73760 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 0a 69 66 20 74 68 61 74 20 ,.or.with.`-compare-fn`.if.that.
73780 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 is.non-`nil`...```el.(-union.'(1
737a0 20 32 20 33 29 20 27 28 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 .2.3).'(3.4.5)).;;.=>.(1.2.3.4.5
737c0 29 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 32 20 34 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 ).(-union.'(1.2.2.4).()).;;.=>.(
737e0 31 20 32 20 34 29 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 32 29 20 27 28 34 20 34 20 1.2.4).(-union.'(1.1.2.2).'(4.4.
73800 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 34 20 33 29 0a 60 60 60 0a 0a 23 23 23 3.2.1)).;;.=>.(1.2.4.3).```..###
73820 23 20 2d 64 69 66 66 65 72 65 6e 63 65 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a 0a 52 #.-difference.`(list1.list2)`..R
73840 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 64 69 73 74 69 6e eturn.a.new.list.with.the.distin
73860 63 74 20 6d 65 6d 62 65 72 73 20 6f 66 20 60 6c 69 73 74 31 60 20 74 68 61 74 20 61 72 65 20 6e ct.members.of.`list1`.that.are.n
73880 6f 74 20 69 6e 20 60 6c 69 73 74 32 60 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 ot.in.`list2`...The.test.for.equ
738a0 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 20 6f 72 20 77 ality.is.done.with.`equal`,.or.w
738c0 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e ith.`-compare-fn`.if.that.is.non
738e0 2d 60 6e 69 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 -`nil`...```el.(-difference.().(
73900 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 )).;;.=>.().(-difference.'(1.2.3
73920 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 64 69 66 66 ).'(4.5.6)).;;.=>.(1.2.3).(-diff
73940 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 20 3b 3b erence.'(1.2.3.4).'(3.4.5.6)).;;
73960 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 73 65 63 74 69 6f .=>.(1.2).```..####.-intersectio
73980 6e 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 n.`(list1.list2)`..Return.a.new.
739a0 6c 69 73 74 20 6f 66 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 list.of.distinct.elements.appear
739c0 69 6e 67 20 69 6e 20 62 6f 74 68 20 60 6c 69 73 74 31 60 20 61 6e 64 20 60 6c 69 73 74 32 60 2e ing.in.both.`list1`.and.`list2`.
739e0 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 ..The.test.for.equality.is.done.
73a00 77 69 74 68 20 60 65 71 75 61 6c 60 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d with.`equal`,.or.with.`-compare-
73a20 66 6e 60 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 60 60 60 65 6c fn`.if.that.is.non-`nil`...```el
73a40 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a .(-intersection.().()).;;.=>.().
73a60 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 (-intersection.'(1.2.3).'(4.5.6)
73a80 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 ).;;.=>.().(-intersection.'(1.2.
73aa0 32 20 33 29 20 27 28 34 20 33 20 33 20 32 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 29 0a 60 60 60 2.3).'(4.3.3.2)).;;.=>.(2.3).```
73ac0 0a 0a 23 23 23 23 20 2d 70 6f 77 65 72 73 65 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 ..####.-powerset.`(list)`..Retur
73ae0 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 n.the.power.set.of.`list`...```e
73b00 6c 0a 28 2d 70 6f 77 65 72 73 65 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 70 l.(-powerset.()).;;.=>.(nil).(-p
73b20 6f 77 65 72 73 65 74 20 27 28 78 20 79 29 29 20 3b 3b 20 3d 3e 20 28 28 78 20 79 29 20 28 78 29 owerset.'(x.y)).;;.=>.((x.y).(x)
73b40 20 28 79 29 20 6e 69 6c 29 0a 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 29 20 3b .(y).nil).(-powerset.'(x.y.z)).;
73b60 3b 20 3d 3e 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 7a 29 20 28 78 29 20 28 79 ;.=>.((x.y.z).(x.y).(x.z).(x).(y
73b80 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 65 72 6d .z).(y).(z).nil).```..####.-perm
73ba0 75 74 61 74 69 6f 6e 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 64 69 utations.`(list)`..Return.the.di
73bc0 73 74 69 6e 63 74 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a stinct.permutations.of.`list`...
73be0 44 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 61 72 65 Duplicate.elements.of.`list`.are
73c00 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 60 65 71 75 61 6c 60 2c 20 6f 72 20 62 79 0a 60 2d .determined.by.`equal`,.or.by.`-
73c20 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 compare-fn`.if.that.is.non-`nil`
73c40 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 20 3b 3b 20 3d ...```el.(-permutations.()).;;.=
73c60 3e 20 28 6e 69 6c 29 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 61 20 62 29 29 >.(nil).(-permutations.'(a.a.b))
73c80 20 3b 3b 20 3d 3e 20 28 28 61 20 61 20 62 29 20 28 61 20 62 20 61 29 20 28 62 20 61 20 61 29 29 .;;.=>.((a.a.b).(a.b.a).(b.a.a))
73ca0 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 .(-permutations.'(a.b.c)).;;.=>.
73cc0 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 ((a.b.c).(a.c.b).(b.a.c).(b.c.a)
73ce0 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 69 73 .(c.a.b).(c.b.a)).```..####.-dis
73d00 74 69 6e 63 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 tinct.`(list)`..Return.a.copy.of
73d20 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 .`list`.with.all.duplicate.eleme
73d40 6e 74 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c nts.removed...The.test.for.equal
73d60 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 20 6f 72 20 77 69 74 ity.is.done.with.`equal`,.or.wit
73d80 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 60 h.`-compare-fn`.if.that.is.non-`
73da0 6e 69 6c 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 6e 69 71 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d nil`...Alias:.`-uniq`...```el.(-
73dc0 64 69 73 74 69 6e 63 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 69 73 74 69 6e 63 74 distinct.()).;;.=>.().(-distinct
73de0 20 27 28 31 20 31 20 32 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 64 .'(1.1.2.3.3)).;;.=>.(1.2.3).(-d
73e00 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 74 29 0a 60 60 60 0a istinct.'(t.t.t)).;;.=>.(t).```.
73e20 0a 23 23 23 23 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 .####.-same-items?.`(list1.list2
73e40 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 60 6c 69 73 74 31 60 20 )`..Return.non-`nil`.if.`list1`.
73e60 61 6e 64 20 60 6c 69 73 74 32 60 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 64 69 73 74 69 6e and.`list2`.have.the.same.distin
73e80 63 74 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 ct.elements...The.order.of.the.e
73ea0 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 lements.in.the.lists.does.not.ma
73ec0 74 74 65 72 2e 20 20 54 68 65 0a 6c 69 73 74 73 20 6d 61 79 20 62 65 20 6f 66 20 64 69 66 66 65 tter...The.lists.may.be.of.diffe
73ee0 72 65 6e 74 20 6c 65 6e 67 74 68 73 2c 20 69 2e 65 2e 2c 20 63 6f 6e 74 61 69 6e 20 64 75 70 6c rent.lengths,.i.e.,.contain.dupl
73f00 69 63 61 74 65 0a 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 icate.elements...The.test.for.eq
73f20 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 20 6f 72 20 uality.is.done.with.`equal`,.or.
73f40 77 69 74 68 0a 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f with.`-compare-fn`.if.that.is.no
73f60 6e 2d 60 6e 69 6c 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 60 n-`nil`...Alias:.`-same-items-p`
73f80 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 ...```el.(-same-items?.'(1.2.3).
73fa0 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 '(1.2.3)).;;.=>.t.(-same-items?.
73fc0 27 28 31 20 31 20 32 20 33 29 20 27 28 33 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 '(1.1.2.3).'(3.3.2.1)).;;.=>.t.(
73fe0 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 -same-items?.'(1.2.3).'(1.2.3.4)
74000 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 20 4f 74 68 65 72 20 6c 69 73 74 20 6f ).;;.=>.nil.```..##.Other.list.o
74020 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 perations..Other.list.functions.
74040 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 not.fit.to.be.classified.elsewhe
74060 72 65 2e 0a 0a 23 23 23 23 20 2d 72 6f 74 61 74 65 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 6f re...####.-rotate.`(n.list)`..Ro
74080 74 61 74 65 20 60 6c 69 73 74 60 20 60 6e 60 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 tate.`list`.`n`.places.to.the.ri
740a0 67 68 74 20 28 6c 65 66 74 20 69 66 20 60 6e 60 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 0a 54 ght.(left.if.`n`.is.negative)..T
740c0 68 65 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 0a 0a 60 60 60 he.time.complexity.is.O(n)...```
740e0 65 6c 0a 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 el.(-rotate.3.'(1.2.3.4.5.6.7)).
74100 3b 3b 20 3d 3e 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 0a 28 2d 72 6f 74 61 74 65 20 2d ;;.=>.(5.6.7.1.2.3.4).(-rotate.-
74120 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 34 20 35 20 36 3.'(1.2.3.4.5.6.7)).;;.=>.(4.5.6
74140 20 37 20 31 20 32 20 33 29 0a 28 2d 72 6f 74 61 74 65 20 31 36 20 27 28 31 20 32 20 33 20 34 20 .7.1.2.3).(-rotate.16.'(1.2.3.4.
74160 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 60 60 5.6.7)).;;.=>.(6.7.1.2.3.4.5).``
74180 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 73 2a 20 60 28 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 4d `..####.-cons*.`(&rest.args)`..M
741a0 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 ake.a.new.list.from.the.elements
741c0 20 6f 66 20 60 61 72 67 73 60 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 .of.`args`..The.last.2.elements.
741e0 6f 66 20 60 61 72 67 73 60 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 of.`args`.are.used.as.the.final.
74200 63 6f 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 cons.of.the.result,.so.if.the.fi
74220 6e 61 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 61 72 67 73 60 20 69 73 20 6e 6f 74 20 61 20 6c nal.element.of.`args`.is.not.a.l
74240 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 ist,.the.result.is.a.dotted.list
74260 2e 20 20 57 69 74 68 20 6e 6f 20 60 61 72 67 73 60 2c 20 72 65 74 75 72 6e 20 60 6e 69 6c 60 2e ...With.no.`args`,.return.`nil`.
74280 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 31 20 2e 20 ..```el.(-cons*.1.2).;;.=>.(1...
742a0 32 29 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 2e 20 33 2).(-cons*.1.2.3).;;.=>.(1.2...3
742c0 29 0a 28 2d 63 6f 6e 73 2a 20 31 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d ).(-cons*.1).;;.=>.1.```..####.-
742e0 73 6e 6f 63 20 60 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 snoc.`(list.elem.&rest.elements)
74300 60 0a 0a 41 70 70 65 6e 64 20 60 65 6c 65 6d 60 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 `..Append.`elem`.to.the.end.of.t
74320 68 65 20 6c 69 73 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 63 6f 6e 73 60 2c 20 62 he.list...This.is.like.`cons`,.b
74340 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a ut.operates.on.the.end.of.list..
74360 0a 49 66 20 61 6e 79 20 60 65 6c 65 6d 65 6e 74 73 60 20 61 72 65 20 67 69 76 65 6e 2c 20 61 70 .If.any.`elements`.are.given,.ap
74380 70 65 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a pend.them.to.the.list.as.well...
743a0 60 60 60 65 6c 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 29 20 3b 3b 20 3d 3e 20 28 ```el.(-snoc.'(1.2.3).4).;;.=>.(
743c0 31 20 32 20 33 20 34 29 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 35 20 36 29 20 1.2.3.4).(-snoc.'(1.2.3).4.5.6).
743e0 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 ;;.=>.(1.2.3.4.5.6).(-snoc.'(1.2
74400 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 28 34 20 35 20 .3).'(4.5.6)).;;.=>.(1.2.3.(4.5.
74420 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 70 6f 73 65 20 60 28 73 65 70 20 6c 6)).```..####.-interpose.`(sep.l
74440 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 ist)`..Return.a.new.list.of.all.
74460 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 6c 69 73 74 60 20 73 65 70 61 72 61 74 65 64 20 62 79 20 elements.in.`list`.separated.by.
74480 60 73 65 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 29 `sep`...```el.(-interpose."-".()
744a0 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 ).;;.=>.().(-interpose."-".'("a"
744c0 29 29 20 3b 3b 20 3d 3e 20 28 22 61 22 29 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 )).;;.=>.("a").(-interpose."-".'
744e0 28 22 61 22 20 22 62 22 20 22 63 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 22 20 22 2d 22 20 22 62 ("a"."b"."c")).;;.=>.("a"."-"."b
74500 22 20 22 2d 22 20 22 63 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 6c 65 61 76 65 "."-"."c").```..####.-interleave
74520 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c .`(&rest.lists)`..Return.a.new.l
74540 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 ist.of.the.first.item.in.each.li
74560 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a st,.then.the.second.etc...```el.
74580 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 29 20 (-interleave.'(1.2).'("a"."b")).
745a0 3b 3b 20 3d 3e 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 ;;.=>.(1."a".2."b").(-interleave
745c0 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 20 3b .'(1.2).'("a"."b").'("A"."B")).;
745e0 3b 20 3d 3e 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 0a 28 2d 69 6e 74 ;.=>.(1."a"."A".2."b"."B").(-int
74600 65 72 6c 65 61 76 65 20 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 20 3b 3b 20 erleave.'(1.2.3).'("a"."b")).;;.
74620 3d 3e 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6f 74 61 =>.(1."a".2."b").```..####.-iota
74640 20 60 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 60 0a .`(count.&optional.start.step)`.
74660 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 60 63 6f 75 6e 74 .Return.a.list.containing.`count
74680 60 20 6e 75 6d 62 65 72 73 2e 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 60 73 74 61 72 74 60 20 61 `.numbers..Starts.from.`start`.a
746a0 6e 64 20 61 64 64 73 20 60 73 74 65 70 60 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 nd.adds.`step`.each.time...The.d
746c0 65 66 61 75 6c 74 20 60 73 74 61 72 74 60 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 efault.`start`.is.zero,.the.defa
746e0 75 6c 74 20 60 73 74 65 70 60 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 ult.`step`.is.1..This.function.t
74700 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e akes.its.name.from.the.correspon
74720 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 74 68 65 20 60 61 70 6c 60 20 6c 61 6e 67 ding.primitive.in.the.`apl`.lang
74740 75 61 67 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 6f 74 61 20 36 29 20 3b 3b 20 3d 3e 20 28 30 20 uage...```el.(-iota.6).;;.=>.(0.
74760 31 20 32 20 33 20 34 20 35 29 0a 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 29 20 3b 3b 20 3d 1.2.3.4.5).(-iota.4.2.5.-2).;;.=
74780 3e 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e 35 20 2d 33 2e 35 29 0a 28 2d 69 6f 74 61 20 2d 31 29 >.(2.5.0.5.-1.5.-3.5).(-iota.-1)
747a0 20 3b 3b 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 .;;.Wrong.type.argument:.natnump
747c0 2c 20 2d 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 77 69 74 68 20 60 28 66 6e 20 6c 69 ,.-1.```..####.-zip-with.`(fn.li
747e0 73 74 31 20 6c 69 73 74 32 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 31 60 20 61 6e 64 20 60 6c 69 st1.list2)`..Zip.`list1`.and.`li
74800 73 74 32 60 20 69 6e 74 6f 20 61 20 6e 65 77 20 6c 69 73 74 20 75 73 69 6e 67 20 74 68 65 20 66 st2`.into.a.new.list.using.the.f
74820 75 6e 63 74 69 6f 6e 20 60 66 6e 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 70 70 6c 79 20 60 66 6e unction.`fn`..That.is,.apply.`fn
74840 60 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d `.pairwise.taking.as.first.argum
74860 65 6e 74 20 74 68 65 20 6e 65 78 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 31 60 20 ent.the.next.element.of.`list1`.
74880 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 74 20 and.as.second.argument.the.next.
748a0 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 32 60 0a 61 74 20 74 68 65 20 63 6f 72 72 65 73 element.of.`list2`.at.the.corres
748c0 70 6f 6e 64 69 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 ponding.position...The.result.is
748e0 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 0a 73 68 6f 72 74 65 72 20 6c 69 73 74 2e 0a 0a 54 .as.long.as.the.shorter.list...T
74900 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 his.function's.anaphoric.counter
74920 70 61 72 74 20 69 73 20 60 2d 2d 7a 69 70 2d 77 69 74 68 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 part.is.`--zip-with`...For.other
74940 20 7a 69 70 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 .zips,.see.also.[`-zip-lists`](#
74960 2d 7a 69 70 2d 6c 69 73 74 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 61 6e 64 20 5b 60 2d 7a 69 -zip-lists-rest-lists).and.[`-zi
74980 70 2d 66 69 6c 6c 60 5d 28 23 2d 7a 69 70 2d 66 69 6c 6c 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 p-fill`](#-zip-fill-fill-value-r
749a0 65 73 74 2d 6c 69 73 74 73 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 2d 77 69 74 68 20 23 27 est-lists)...```el.(-zip-with.#'
749c0 2b 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 36 20 +.'(1.2.3.4).'(5.6.7)).;;.=>.(6.
749e0 38 20 31 30 29 0a 28 2d 7a 69 70 2d 77 69 74 68 20 23 27 63 6f 6e 73 20 27 28 31 20 32 20 33 29 8.10).(-zip-with.#'cons.'(1.2.3)
74a00 20 27 28 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e .'(4.5.6.7)).;;.=>.((1...4).(2..
74a20 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 6f 72 6d 61 74 .5).(3...6)).(--zip-with.(format
74a40 20 22 25 73 20 26 20 25 73 22 20 69 74 20 6f 74 68 65 72 29 20 27 28 42 61 74 6d 61 6e 20 4a 65 ."%s.&.%s".it.other).'(Batman.Je
74a60 6b 79 6c 6c 29 20 27 28 52 6f 62 69 6e 20 48 79 64 65 29 29 20 3b 3b 20 3d 3e 20 28 22 42 61 74 kyll).'(Robin.Hyde)).;;.=>.("Bat
74a80 6d 61 6e 20 26 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 26 20 48 79 64 65 22 29 0a 60 60 man.&.Robin"."Jekyll.&.Hyde").``
74aa0 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 70 61 69 72 20 60 28 6c 69 73 74 31 20 6c 69 73 74 32 29 `..####.-zip-pair.`(list1.list2)
74ac0 60 0a 0a 5a 69 70 20 60 6c 69 73 74 31 60 20 61 6e 64 20 60 6c 69 73 74 32 60 20 74 6f 67 65 74 `..Zip.`list1`.and.`list2`.toget
74ae0 68 65 72 2e 0a 0a 4d 61 6b 65 20 61 20 70 61 69 72 20 77 69 74 68 20 74 68 65 20 68 65 61 64 20 her...Make.a.pair.with.the.head.
74b00 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 70 61 69 72 of.each.list,.followed.by.a.pair
74b20 20 77 69 74 68 0a 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 .with.the.second.element.of.each
74b40 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 .list,.and.so.on...The.number.of
74b60 20 70 61 69 72 73 0a 72 65 74 75 72 6e 65 64 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 .pairs.returned.is.equal.to.the.
74b80 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 72 20 69 6e 70 75 74 20 6c 69 73 74 length.of.the.shorter.input.list
74ba0 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 ...See.also:.[`-zip-lists`](#-zi
74bc0 70 2d 6c 69 73 74 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 p-lists-rest-lists)...```el.(-zi
74be0 70 2d 70 61 69 72 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 29 20 3b 3b 20 3d p-pair.'(1.2.3.4).'(5.6.7)).;;.=
74c00 3e 20 28 28 31 20 2e 20 35 29 20 28 32 20 2e 20 36 29 20 28 33 20 2e 20 37 29 29 0a 28 2d 7a 69 >.((1...5).(2...6).(3...7)).(-zi
74c20 70 2d 70 61 69 72 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 p-pair.'(1.2.3).'(4.5.6)).;;.=>.
74c40 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 7a 69 70 2d ((1...4).(2...5).(3...6)).(-zip-
74c60 70 61 69 72 20 27 28 31 20 32 29 20 27 28 33 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 33 29 pair.'(1.2).'(3)).;;.=>.((1...3)
74c80 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 6c 69 73 74 73 20 60 28 26 72 65 73 74 20 6c ).```..####.-zip-lists.`(&rest.l
74ca0 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 73 60 20 74 6f 67 65 74 68 65 72 2e 0a 0a 47 ists)`..Zip.`lists`.together...G
74cc0 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c roup.the.head.of.each.list,.foll
74ce0 6f 77 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 65 61 owed.by.the.second.element.of.ea
74d00 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 ch.list,.and.so.on...The.number.
74d20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 0a 74 of.returned.groupings.is.equal.t
74d40 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 o.the.length.of.the.shortest.inp
74d60 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 0a ut.list,.and.the.length.of.each.
74d80 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 grouping.is.equal.to.the.number.
74da0 6f 66 20 69 6e 70 75 74 20 60 6c 69 73 74 73 60 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 of.input.`lists`...The.return.va
74dc0 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c lue.is.always.a.list.of.proper.l
74de0 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 0a 5b 60 2d 7a 69 70 60 5d 28 23 2d ists,.in.contrast.to.[`-zip`](#-
74e00 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 zip-rest-lists).which.returns.a.
74e20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 77 68 65 6e 20 6f 6e 6c 79 20 74 list.of.dotted.pairs.when.only.t
74e40 77 6f 20 69 6e 70 75 74 0a 60 6c 69 73 74 73 60 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a wo.input.`lists`.are.provided...
74e60 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 7a 69 70 2d 70 61 69 72 60 5d 28 23 2d 7a 69 70 2d 70 61 See.also:.[`-zip-pair`](#-zip-pa
74e80 69 72 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 2d 6c 69 ir-list1-list2)...```el.(-zip-li
74ea0 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 sts.'(1.2.3).'(4.5.6)).;;.=>.((1
74ec0 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 .4).(2.5).(3.6)).(-zip-lists.'(1
74ee0 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 34 29 20 28 .2.3).'(4.5.6.7)).;;.=>.((1.4).(
74f00 32 20 35 29 20 28 33 20 36 29 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 2.5).(3.6)).(-zip-lists.'(1.2).'
74f20 28 33 20 34 20 35 29 20 27 28 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 36 29 29 0a 60 60 (3.4.5).'(6)).;;.=>.((1.3.6)).``
74f40 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 60 28 66 69 6c 6c 2d 76 `..####.-zip-lists-fill.`(fill-v
74f60 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 73 60 20 alue.&rest.lists)`..Zip.`lists`.
74f80 74 6f 67 65 74 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 together,.padding.shorter.lists.
74fa0 77 69 74 68 20 60 66 69 6c 6c 2d 76 61 6c 75 65 60 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 with.`fill-value`..This.is.like.
74fc0 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 73 2d 72 65 73 74 2d [`-zip-lists`](#-zip-lists-rest-
74fe0 6c 69 73 74 73 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 20 72 65 lists).(which.see),.except.it.re
75000 74 61 69 6e 73 20 61 6c 6c 0a 65 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 tains.all.elements.at.positions.
75020 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 6c beyond.the.end.of.the.shortest.l
75040 69 73 74 2e 20 20 54 68 65 0a 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f ist...The.number.of.returned.gro
75060 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 upings.is.equal.to.the.length.of
75080 20 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 .the.longest.input.list,.and.the
750a0 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 .length.of.each.grouping.is.equa
750c0 6c 20 74 6f 0a 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 60 6c 69 73 74 73 60 l.to.the.number.of.input.`lists`
750e0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 ...```el.(-zip-lists-fill.0.'(1.
75100 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 36 29 2).'(3.4.5).'(6)).;;.=>.((1.3.6)
75120 20 28 32 20 34 20 30 29 20 28 30 20 35 20 30 29 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 .(2.4.0).(0.5.0)).(-zip-lists-fi
75140 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 29 29 20 3b 3b 20 3d 3e ll.0.'(1.2).'(3.4).'(5.6)).;;.=>
75160 20 28 28 31 20 33 20 35 29 20 28 32 20 34 20 36 29 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 .((1.3.5).(2.4.6)).(-zip-lists-f
75180 69 6c 6c 20 30 20 27 28 31 20 32 20 33 29 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 28 28 31 20 30 29 ill.0.'(1.2.3).nil).;;.=>.((1.0)
751a0 20 28 32 20 30 29 20 28 33 20 30 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 20 60 28 26 .(2.0).(3.0)).```..####.-zip.`(&
751c0 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 73 60 20 74 6f 67 65 74 68 rest.lists)`..Zip.`lists`.togeth
751e0 65 72 2e 0a 0a 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 er...Group.the.head.of.each.list
75200 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 ,.followed.by.the.second.element
75220 20 6f 66 0a 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e .of.each.list,.and.so.on...The.n
75240 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 umber.of.returned.groupings.is.e
75260 71 75 61 6c 0a 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 qual.to.the.length.of.the.shorte
75280 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 st.input.list,.and.the.number.of
752a0 20 69 74 65 6d 73 0a 69 6e 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c .items.in.each.grouping.is.equal
752c0 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 60 6c 69 73 74 73 60 2e .to.the.number.of.input.`lists`.
752e0 0a 0a 49 66 20 6f 6e 6c 79 20 74 77 6f 20 60 6c 69 73 74 73 60 20 61 72 65 20 70 72 6f 76 69 64 ..If.only.two.`lists`.are.provid
75300 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 ed.as.arguments,.return.the.grou
75320 70 69 6e 67 73 0a 61 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 2e pings.as.a.list.of.dotted.pairs.
75340 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 ..Otherwise,.return.the.grouping
75360 73 20 61 73 20 61 0a 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 0a 0a 53 69 s.as.a.list.of.proper.lists...Si
75380 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 nce.the.return.value.changes.for
753a0 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 61 72 67 m.depending.on.the.number.of.arg
753c0 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e uments,.it.is.generally.recommen
753e0 64 65 64 20 74 6f 20 75 73 65 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d ded.to.use.[`-zip-lists`](#-zip-
75400 6c 69 73 74 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 69 6e 73 74 65 61 64 2c 20 6f 72 20 5b 60 lists-rest-lists).instead,.or.[`
75420 2d 7a 69 70 2d 70 61 69 72 60 5d 28 23 2d 7a 69 70 2d 70 61 69 72 2d 6c 69 73 74 31 2d 6c 69 73 -zip-pair`](#-zip-pair-list1-lis
75440 74 32 29 20 69 66 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 t2).if.a.list.of.dotted.pairs.is
75460 20 64 65 73 69 72 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 75 6e 7a 69 70 60 5d 28 .desired...See.also:.[`-unzip`](
75480 23 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 20 27 28 31 #-unzip-lists)...```el.(-zip.'(1
754a0 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 20 27 28 38 20 39 29 29 20 3b 3b 20 3d 3e 20 28 .2.3.4).'(5.6.7).'(8.9)).;;.=>.(
754c0 28 31 20 35 20 38 29 20 28 32 20 36 20 39 29 29 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 (1.5.8).(2.6.9)).(-zip.'(1.2.3).
754e0 27 28 34 20 35 20 36 29 20 27 28 37 20 38 20 39 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 34 20 37 '(4.5.6).'(7.8.9)).;;.=>.((1.4.7
75500 29 20 28 32 20 35 20 38 29 20 28 33 20 36 20 39 29 29 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 ).(2.5.8).(3.6.9)).(-zip.'(1.2.3
75520 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 )).;;.=>.((1).(2).(3)).```..####
75540 20 2d 7a 69 70 2d 66 69 6c 6c 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 .-zip-fill.`(fill-value.&rest.li
75560 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 73 60 20 74 6f 67 65 74 68 65 72 2c 20 70 61 64 sts)`..Zip.`lists`.together,.pad
75580 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 60 66 69 6c 6c 2d 76 61 ding.shorter.lists.with.`fill-va
755a0 6c 75 65 60 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 lue`..This.is.like.[`-zip`](#-zi
755c0 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 p-rest-lists).(which.see),.excep
755e0 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 0a 61 74 20 70 6f 73 t.it.retains.all.elements.at.pos
75600 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f itions.beyond.the.end.of.the.sho
75620 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 72 65 74 75 72 rtest.list...The.number.of.retur
75640 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 ned.groupings.is.equal.to.the.le
75660 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 0a 6c 69 73 74 2c 20 ngth.of.the.longest.input.list,.
75680 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 and.the.length.of.each.grouping.
756a0 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 69 6e 70 75 74 20 is.equal.to.the.number.of.input.
756c0 60 6c 69 73 74 73 60 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 `lists`...Since.the.return.value
756e0 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e .changes.form.depending.on.the.n
75700 75 6d 62 65 72 20 6f 66 0a 61 72 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 umber.of.arguments,.it.is.genera
75720 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 5b 60 2d 7a 69 70 2d 6c 69 lly.recommended.to.use.[`-zip-li
75740 73 74 73 2d 66 69 6c 6c 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 2d 66 69 6c 6c sts-fill`](#-zip-lists-fill-fill
75760 2d 76 61 6c 75 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 69 6e 73 74 65 61 64 2c 20 75 6e 6c 65 -value-rest-lists).instead,.unle
75780 73 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 20 65 78 70 ss.a.list.of.dotted.pairs.is.exp
757a0 6c 69 63 69 74 6c 79 20 64 65 73 69 72 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 2d 66 69 licitly.desired...```el.(-zip-fi
757c0 6c 6c 20 30 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 ll.0.'(1.2.3).'(4.5)).;;.=>.((1.
757e0 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 30 29 29 0a 28 2d 7a 69 70 2d 66 69 6c 6c ..4).(2...5).(3...0)).(-zip-fill
75800 20 30 20 28 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 2e 20 31 29 20 28 .0.().'(1.2.3)).;;.=>.((0...1).(
75820 30 20 2e 20 32 29 20 28 30 20 2e 20 33 29 29 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 0...2).(0...3)).(-zip-fill.0.'(1
75840 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 35 .2).'(3.4).'(5.6)).;;.=>.((1.3.5
75860 29 20 28 32 20 34 20 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 75 6e 7a 69 70 2d 6c 69 73 74 ).(2.4.6)).```..####.-unzip-list
75880 73 20 60 28 6c 69 73 74 73 29 60 0a 0a 55 6e 7a 69 70 20 60 6c 69 73 74 73 60 2e 0a 0a 54 68 69 s.`(lists)`..Unzip.`lists`...Thi
758a0 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d s.works.just.like.[`-zip-lists`]
758c0 28 23 2d 7a 69 70 2d 6c 69 73 74 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 28 77 68 69 63 68 20 (#-zip-lists-rest-lists).(which.
758e0 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 0a 6f 66 20 6c 69 73 74 73 20 see),.but.takes.a.list.of.lists.
75900 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 instead.of.a.variable.number.of.
75920 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a 0a 20 20 20 20 28 2d 75 6e 7a 69 arguments,.such.that......(-unzi
75940 70 2d 6c 69 73 74 73 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 60 61 72 67 73 60 2e 2e 2e 29 29 0a p-lists.(-zip-lists.`args`...)).
75960 0a 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 .is.identity.(given.that.the.lis
75980 74 73 20 63 6f 6d 70 72 69 73 69 6e 67 20 60 61 72 67 73 60 20 61 72 65 20 6f 66 20 74 68 65 20 ts.comprising.`args`.are.of.the.
759a0 73 61 6d 65 0a 6c 65 6e 67 74 68 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 7a 69 70 2d 6c 69 73 same.length)...```el.(-unzip-lis
759c0 74 73 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 ts.(-zip-lists.'(1.2).'(3.4).'(5
759e0 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a .6))).;;.=>.((1.2).(3.4).(5.6)).
75a00 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 (-unzip-lists.'((1.2.3).(4.5).(6
75a20 20 37 29 20 28 38 20 39 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 34 20 36 20 38 29 20 28 32 20 .7).(8.9))).;;.=>.((1.4.6.8).(2.
75a40 35 20 37 20 39 29 29 0a 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 27 28 28 31 20 32 20 33 29 20 5.7.9)).(-unzip-lists.'((1.2.3).
75a60 28 34 20 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 (4.5.6))).;;.=>.((1.4).(2.5).(3.
75a80 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 75 6e 7a 69 70 20 60 28 6c 69 73 74 73 29 60 0a 0a 6)).```..####.-unzip.`(lists)`..
75aa0 55 6e 7a 69 70 20 60 6c 69 73 74 73 60 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 Unzip.`lists`...This.works.just.
75ac0 6c 69 6b 65 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 like.[`-zip`](#-zip-rest-lists).
75ae0 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 (which.see),.but.takes.a.list.of
75b00 0a 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d .lists.instead.of.a.variable.num
75b20 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a 0a 20 20 20 ber.of.arguments,.such.that.....
75b40 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 60 6c 31 60 20 60 6c 32 60 20 60 6c 33 60 20 2e 2e .(-unzip.(-zip.`l1`.`l2`.`l3`...
75b60 2e 29 29 0a 0a 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 .))..is.identity.(given.that.the
75b80 20 6c 69 73 74 73 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c 20 61 .lists.are.of.the.same.length,.a
75ba0 6e 64 0a 74 68 61 74 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 nd.that.[`-zip`](#-zip-rest-list
75bc0 73 29 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 61 72 67 75 6d 65 s).is.not.called.with.two.argume
75be0 6e 74 73 2c 20 62 65 63 61 75 73 65 20 6f 66 20 74 68 65 0a 63 61 76 65 61 74 20 64 65 73 63 72 nts,.because.of.the.caveat.descr
75c00 69 62 65 64 20 69 6e 20 69 74 73 20 64 6f 63 73 74 72 69 6e 67 29 2e 0a 0a 4e 6f 74 65 20 69 6e ibed.in.its.docstring)...Note.in
75c20 20 70 61 72 74 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 5b 60 2d 75 6e 7a 69 .particular.that.calling.[`-unzi
75c40 70 60 5d 28 23 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 29 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 p`](#-unzip-lists).on.a.list.of.
75c60 74 77 6f 20 6c 69 73 74 73 0a 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 two.lists.will.return.a.list.of.
75c80 64 6f 74 74 65 64 20 70 61 69 72 73 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 dotted.pairs...Since.the.return.
75ca0 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 value.changes.form.depending.on.
75cc0 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 60 6c 69 73 74 73 60 2c 20 69 74 20 69 73 20 67 65 6e the.number.of.`lists`,.it.is.gen
75ce0 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 5b 60 2d 75 6e 7a erally.recommended.to.use.[`-unz
75d00 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 2d 6c 69 73 74 73 29 20 ip-lists`](#-unzip-lists-lists).
75d20 69 6e 73 74 65 61 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 instead...```el.(-unzip.(-zip.'(
75d40 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 1.2).'(3.4).'(5.6))).;;.=>.((1..
75d60 20 32 29 20 28 33 20 2e 20 34 29 20 28 35 20 2e 20 36 29 29 0a 28 2d 75 6e 7a 69 70 20 27 28 28 .2).(3...4).(5...6)).(-unzip.'((
75d80 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 34 29 20 1.2.3).(4.5.6))).;;.=>.((1...4).
75da0 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 20 (2...5).(3...6)).(-unzip.'((1.2.
75dc0 33 29 20 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 3).(4.5).(6.7).(8.9))).;;.=>.((1
75de0 20 34 20 36 20 38 29 20 28 32 20 35 20 37 20 39 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 .4.6.8).(2.5.7.9)).```..####.-pa
75e00 64 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 50 61 d.`(fill-value.&rest.lists)`..Pa
75e20 64 20 65 61 63 68 20 6f 66 20 60 6c 69 73 74 73 60 20 77 69 74 68 20 60 66 69 6c 6c 2d 76 61 6c d.each.of.`lists`.with.`fill-val
75e40 75 65 60 20 75 6e 74 69 6c 20 74 68 65 79 20 61 6c 6c 20 68 61 76 65 20 65 71 75 61 6c 20 6c 65 ue`.until.they.all.have.equal.le
75e60 6e 67 74 68 73 2e 0a 0a 45 6e 73 75 72 65 20 61 6c 6c 20 60 6c 69 73 74 73 60 20 61 72 65 20 61 ngths...Ensure.all.`lists`.are.a
75e80 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6f 6e 65 20 62 79 20 72 65 70 s.long.as.the.longest.one.by.rep
75ea0 65 61 74 65 64 6c 79 0a 61 70 70 65 6e 64 69 6e 67 20 60 66 69 6c 6c 2d 76 61 6c 75 65 60 20 74 eatedly.appending.`fill-value`.t
75ec0 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 o.the.shorter.lists,.and.return.
75ee0 74 68 65 0a 72 65 73 75 6c 74 69 6e 67 20 60 6c 69 73 74 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d the.resulting.`lists`...```el.(-
75f00 70 61 64 20 30 20 28 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 70 61 64 20 30 20 27 28 pad.0.()).;;.=>.(nil).(-pad.0.'(
75f20 31 20 32 29 20 27 28 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 29 1.2).'(3.4)).;;.=>.((1.2).(3.4))
75f40 0a 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 20 36 29 20 27 28 37 20 38 .(-pad.0.'(1.2).'(3.4.5.6).'(7.8
75f60 20 39 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 30 20 30 29 20 28 33 20 34 20 35 20 36 29 20 .9)).;;.=>.((1.2.0.0).(3.4.5.6).
75f80 28 37 20 38 20 39 20 30 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 62 6c 65 20 60 28 66 6e (7.8.9.0)).```..####.-table.`(fn
75fa0 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 .&rest.lists)`..Compute.outer.pr
75fc0 6f 64 75 63 74 20 6f 66 20 60 6c 69 73 74 73 60 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 oduct.of.`lists`.using.function.
75fe0 60 66 6e 60 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 `fn`...The.function.`fn`.should.
76000 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 have.the.same.arity.as.the.numbe
76020 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 r.of.supplied.lists...The.outer.
76040 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 product.is.computed.by.applying.
76060 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 fn.to.all.possible.combinations.
76080 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 created.by.taking.one.element.fr
760a0 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 64 69 6d 65 om.each.list.in.order...The.dime
760c0 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 28 6c 65 6e 67 74 68 20 6c nsion.of.the.result.is.(length.l
760e0 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 ists)...See.also:.[`-table-flat`
76100 5d 28 23 2d 74 61 62 6c 65 2d 66 6c 61 74 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 ](#-table-flat-fn-rest-lists)..`
76120 60 60 65 6c 0a 28 2d 74 61 62 6c 65 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 ``el.(-table.'*.'(1.2.3).'(1.2.3
76140 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 )).;;.=>.((1.2.3).(2.4.6).(3.6.9
76160 29 29 0a 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 2d 73 75 6d 20 28 )).(-table.(lambda.(a.b).(-sum.(
76180 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 28 28 31 20 32 29 20 28 33 20 34 -zip-with.'*.a.b))).'((1.2).(3.4
761a0 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 20 3b 3b 20 3d 3e 20 28 28 37 20 31 35 29 )).'((1.3).(2.4))).;;.=>.((7.15)
761c0 20 28 31 30 20 32 32 29 29 0a 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 .(10.22)).(apply.'-table.'list.(
761e0 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 28 28 31 20 31 -repeat.3.'(1.2))).;;.=>.((((1.1
76200 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 29 29 20 .1).(2.1.1)).((1.2.1).(2.2.1))).
76220 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 28 28 31 20 32 20 32 29 20 28 32 20 32 (((1.1.2).(2.1.2)).((1.2.2).(2.2
76240 20 32 29 29 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 60 28 66 .2)))).```..####.-table-flat.`(f
76260 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 n.&rest.lists)`..Compute.flat.ou
76280 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 60 6c 69 73 74 73 60 20 75 73 69 6e 67 20 66 75 6e ter.product.of.`lists`.using.fun
762a0 63 74 69 6f 6e 20 60 66 6e 60 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 ction.`fn`...The.function.`fn`.s
762c0 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 hould.have.the.same.arity.as.the
762e0 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 .number.of.supplied.lists...The.
76300 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 outer.product.is.computed.by.app
76320 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 lying.fn.to.all.possible.combina
76340 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d tions.created.by.taking.one.elem
76360 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 ent.from.each.list.in.order...Th
76380 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e e.results.are.flattened,.ignorin
763a0 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 g.the.tensor.structure.of.the.re
763c0 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c sult...This.is.equivalent.to.cal
763e0 6c 69 6e 67 3a 0a 0a 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 ling:......(-flatten-n.(1-.(leng
76400 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 th.lists)).(apply.'-table.fn.lis
76420 74 73 29 29 0a 0a 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 ts))..but.the.implementation.her
76440 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 e.is.much.more.efficient...See.a
76460 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d lso:.[`-flatten-n`](#-flatten-n-
76480 6e 75 6d 2d 6c 69 73 74 29 2c 20 5b 60 2d 74 61 62 6c 65 60 5d 28 23 2d 74 61 62 6c 65 2d 66 6e num-list),.[`-table`](#-table-fn
764a0 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 -rest-lists)..```el.(-table-flat
764c0 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 .'list.'(1.2.3).'(a.b.c)).;;.=>.
764e0 28 28 31 20 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 ((1.a).(2.a).(3.a).(1.b).(2.b).(
76500 33 20 62 29 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 28 2d 74 61 62 6c 65 2d 3.b).(1.c).(2.c).(3.c)).(-table-
76520 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e flat.'*.'(1.2.3).'(1.2.3)).;;.=>
76540 20 28 31 20 32 20 33 20 32 20 34 20 36 20 33 20 36 20 39 29 0a 28 61 70 70 6c 79 20 27 2d 74 61 .(1.2.3.2.4.6.3.6.9).(apply.'-ta
76560 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 ble-flat.'list.(-repeat.3.'(1.2)
76580 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 20 28 31 20 32 20 31 )).;;.=>.((1.1.1).(2.1.1).(1.2.1
765a0 29 20 28 32 20 32 20 31 29 20 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 20 28 31 20 32 20 32 ).(2.2.1).(1.1.2).(2.1.2).(1.2.2
765c0 29 20 28 32 20 32 20 32 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 72 73 74 20 60 28 70 72 ).(2.2.2)).```..####.-first.`(pr
765e0 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d ed.list)`..Return.the.first.item
76600 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 .in.`list`.for.which.`pred`.retu
76620 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 69 66 20 6e rns.non-`nil`..Return.`nil`.if.n
76640 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 54 6f 20 67 65 74 o.such.element.is.found...To.get
76660 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 .the.first.item.in.the.list.no.q
76680 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 0a 75 73 65 20 5b 60 2d 66 69 72 73 74 2d 69 74 65 uestions.asked,.use.[`-first-ite
766a0 6d 60 5d 28 23 2d 66 69 72 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 41 6c 69 61 73 3a 20 m`](#-first-item-list)...Alias:.
766c0 60 2d 66 69 6e 64 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f `-find`...This.function's.anapho
766e0 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 72 73 74 60 2e 0a 0a 60 ric.counterpart.is.`--first`...`
76700 60 60 65 6c 0a 28 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 31 20 30 20 31 29 ``el.(-first.#'natnump.'(-1.0.1)
76720 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 66 69 72 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 ).;;.=>.0.(-first.#'null.'(1.2.3
76740 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 27 )).;;.=>.nil.(--first.(>.it.2).'
76760 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 61 73 74 (1.2.3)).;;.=>.3.```..####.-last
76780 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 .`(pred.list)`..Return.the.last.
767a0 78 20 69 6e 20 60 6c 69 73 74 60 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 78 29 20 69 73 20 x.in.`list`.where.(`pred`.x).is.
767c0 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 65 6c 73 65 20 60 6e 69 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d non-`nil`,.else.`nil`...```el.(-
767e0 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 33 20 33 20 33 29 last.'even?.'(1.2.3.4.5.6.3.3.3)
76800 29 20 3b 3b 20 3d 3e 20 36 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 37 20 ).;;.=>.6.(-last.'even?.'(1.3.7.
76820 35 20 39 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 6e 67 5.9)).;;.=>.nil.(--last.(>.(leng
76840 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f 72 64 22 20 th.it).3).'("a"."looong"."word".
76860 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 29 29 20 3b 3b 20 3d 3e 20 22 73 68 6f "and"."short"."one")).;;.=>."sho
76880 72 74 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 72 73 74 2d 69 74 65 6d 20 60 28 6c 69 73 74 rt".```..####.-first-item.`(list
768a0 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 60 6c 69 )`..Return.the.first.item.of.`li
768c0 73 74 60 2c 20 6f 72 20 60 6e 69 6c 60 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a st`,.or.`nil`.on.an.empty.list..
768e0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 60 5d 28 23 2d 73 65 .See.also:.[`-second-item`](#-se
76900 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 5b 60 2d 6c 61 73 74 2d 69 74 65 6d 60 5d 28 cond-item-list),.[`-last-item`](
76920 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 #-last-item-list),.etc...```el.(
76940 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 66 69 72 73 74 -first-item.()).;;.=>.().(-first
76960 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 6c 65 74 -item.'(1.2.3.4.5)).;;.=>.1.(let
76980 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 66 .((list.(list.1.2.3))).(setf.(-f
769a0 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 20 3b 3b 20 3d 3e 20 28 irst-item.list).5).list).;;.=>.(
769c0 35 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 60 28 5.2.3).```..####.-second-item.`(
769e0 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f list)`..Return.the.second.item.o
76a00 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 60 6e 69 6c 60 20 69 66 20 60 6c 69 73 74 60 20 69 73 20 f.`list`,.or.`nil`.if.`list`.is.
76a20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 69 72 73 74 2d 69 too.short...See.also:.[`-first-i
76a40 74 65 6d 60 5d 28 23 2d 66 69 72 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 5b 60 2d 74 68 69 tem`](#-first-item-list),.[`-thi
76a60 72 64 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 65 74 rd-item`](#-third-item-list),.et
76a80 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 29 29 20 3b 3b 20 3d c...```el.(-second-item.()).;;.=
76aa0 3e 20 28 29 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 >.().(-second-item.'(1.2.3.4.5))
76ac0 20 3b 3b 20 3d 3e 20 32 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 29 29 .;;.=>.2.(let.((list.(list.1.2))
76ae0 29 20 28 73 65 74 66 20 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c ).(setf.(-second-item.list).5).l
76b00 69 73 74 29 20 3b 3b 20 3d 3e 20 28 31 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 68 69 72 ist).;;.=>.(1.5).```..####.-thir
76b20 64 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 d-item.`(list)`..Return.the.thir
76b40 64 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 60 6e 69 6c 60 20 69 66 20 60 6c d.item.of.`list`,.or.`nil`.if.`l
76b60 69 73 74 60 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 ist`.is.too.short...See.also:.[`
76b80 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 60 5d 28 23 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 -second-item`](#-second-item-lis
76ba0 74 29 2c 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 6f 75 72 74 68 2d 69 74 t),.[`-fourth-item`](#-fourth-it
76bc0 65 6d 2d 6c 69 73 74 29 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 68 69 72 64 2d 69 74 em-list),.etc...```el.(-third-it
76be0 65 6d 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 em.()).;;.=>.().(-third-item.'(1
76c00 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 20 32 .2)).;;.=>.().(-third-item.'(1.2
76c20 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6f 75 72 .3.4.5)).;;.=>.3.```..####.-four
76c40 74 68 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 th-item.`(list)`..Return.the.fou
76c60 72 74 68 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 60 6e 69 6c 60 20 69 66 20 rth.item.of.`list`,.or.`nil`.if.
76c80 60 6c 69 73 74 60 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 `list`.is.too.short...See.also:.
76ca0 5b 60 2d 74 68 69 72 64 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 6d 2d 6c 69 73 [`-third-item`](#-third-item-lis
76cc0 74 29 2c 20 5b 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 69 66 74 68 2d 69 74 65 6d t),.[`-fifth-item`](#-fifth-item
76ce0 2d 6c 69 73 74 29 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 -list),.etc...```el.(-fourth-ite
76d00 6d 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 31 m.()).;;.=>.().(-fourth-item.'(1
76d20 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 .2.3)).;;.=>.().(-fourth-item.'(
76d40 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 34 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 1.2.3.4.5)).;;.=>.4.```..####.-f
76d60 69 66 74 68 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 ifth-item.`(list)`..Return.the.f
76d80 69 66 74 68 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 60 6e 69 6c 60 20 69 66 ifth.item.of.`list`,.or.`nil`.if
76da0 20 60 6c 69 73 74 60 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a .`list`.is.too.short...See.also:
76dc0 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 6f 75 72 74 68 2d 69 74 65 6d 2d .[`-fourth-item`](#-fourth-item-
76de0 6c 69 73 74 29 2c 20 5b 60 2d 6c 61 73 74 2d 69 74 65 6d 60 5d 28 23 2d 6c 61 73 74 2d 69 74 65 list),.[`-last-item`](#-last-ite
76e00 6d 2d 6c 69 73 74 29 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 66 74 68 2d 69 74 65 m-list),.etc...```el.(-fifth-ite
76e20 6d 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 m.()).;;.=>.().(-fifth-item.'(1.
76e40 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 2.3.4)).;;.=>.().(-fifth-item.'(
76e60 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 35 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 1.2.3.4.5)).;;.=>.5.```..####.-l
76e80 61 73 74 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 ast-item.`(list)`..Return.the.la
76ea0 73 74 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 60 6e 69 6c 60 20 6f 6e 20 61 st.item.of.`list`,.or.`nil`.on.a
76ec0 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 69 72 73 n.empty.list...See.also:.[`-firs
76ee0 74 2d 69 74 65 6d 60 5d 28 23 2d 66 69 72 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 65 74 63 t-item`](#-first-item-list),.etc
76f00 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 29 29 20 3b 3b 20 3d 3e 20 28 ...```el.(-last-item.()).;;.=>.(
76f20 29 0a 28 2d 6c 61 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d ).(-last-item.'(1.2.3.4.5)).;;.=
76f40 3e 20 35 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 >.5.(let.((list.(list.1.2.3))).(
76f60 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 20 setf.(-last-item.list).5).list).
76f80 3b 3b 20 3d 3e 20 28 31 20 32 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 62 75 74 6c 61 73 74 ;;.=>.(1.2.5).```..####.-butlast
76fa0 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 .`(list)`..Return.a.list.of.all.
76fc0 69 74 65 6d 73 20 69 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 items.in.list.except.for.the.las
76fe0 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 20 3b 3b t...```el.(-butlast.'(1.2.3)).;;
77000 20 3d 3e 20 28 31 20 32 29 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 29 29 20 3b 3b 20 3d .=>.(1.2).(-butlast.'(1.2)).;;.=
77020 3e 20 28 31 29 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a >.(1).(-butlast.'(1)).;;.=>.nil.
77040 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 72 74 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 ```..####.-sort.`(comparator.lis
77060 74 29 60 0a 0a 53 6f 72 74 20 60 6c 69 73 74 60 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 t)`..Sort.`list`,.stably,.compar
77080 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 2e ing.elements.using.`comparator`.
770a0 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 60 6c 69 73 74 60 .Return.the.sorted.list...`list`
770c0 20 69 73 20 60 6e 6f 74 60 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 .is.`not`.modified.by.side.effec
770e0 74 73 2e 0a 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 ts..`comparator`.is.called.with.
77100 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2c 20 61 6e 64 20 73 68 6f 75 two.elements.of.`list`,.and.shou
77120 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 60 6e 69 6c 60 0a 69 66 20 74 68 65 20 66 69 72 73 74 ld.return.non-`nil`.if.the.first
77140 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f 72 65 20 74 68 65 20 .element.should.sort.before.the.
77160 73 65 63 6f 6e 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 72 74 20 23 27 3c 20 27 28 33 20 31 20 second...```el.(-sort.#'<.'(3.1.
77180 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 73 6f 72 74 20 23 27 3e 20 27 28 33 2)).;;.=>.(1.2.3).(-sort.#'>.'(3
771a0 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 0a 28 2d 2d 73 6f 72 74 20 28 3c 20 .1.2)).;;.=>.(3.2.1).(--sort.(<.
771c0 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 it.other).'(3.1.2)).;;.=>.(1.2.3
771e0 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 69 73 74 20 60 28 61 72 67 29 60 0a 0a 45 6e 73 75 72 ).```..####.-list.`(arg)`..Ensur
77200 65 20 60 61 72 67 60 20 69 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 60 61 72 67 60 20 69 73 20 61 e.`arg`.is.a.list..If.`arg`.is.a
77220 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 20 28 lready.a.list,.return.it.as.is.(
77240 6e 6f 74 20 61 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 not.a.copy)..Otherwise,.return.a
77260 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 60 61 72 67 60 20 61 73 20 69 74 73 20 6f 6e 6c 79 .new.list.with.`arg`.as.its.only
77280 20 65 6c 65 6d 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c .element...Another.supported.cal
772a0 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 ling.convention.is.(-list.&rest.
772c0 60 61 72 67 73 60 29 2e 0a 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 60 61 72 67 60 20 `args`)..In.this.case,.if.`arg`.
772e0 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 is.not.a.list,.a.new.list.with.a
77300 6c 6c 20 6f 66 0a 60 61 72 67 73 60 20 61 73 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 ll.of.`args`.as.elements.is.retu
77320 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 rned...This.use.is.supported.for
77340 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f .backward.compatibility.and.is.o
77360 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 69 therwise.deprecated...```el.(-li
77380 73 74 20 31 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 6c 69 73 74 20 28 29 29 20 3b 3b 20 3d 3e st.1).;;.=>.(1).(-list.()).;;.=>
773a0 20 28 29 0a 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 .().(-list.'(1.2.3)).;;.=>.(1.2.
773c0 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 78 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 43 3).```..####.-fix.`(fn.list)`..C
773e0 6f 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 60 ompute.the.(least).fixpoint.of.`
77400 66 6e 60 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 60 6c 69 73 74 60 2e 0a 0a fn`.with.initial.input.`list`...
77420 60 66 6e 60 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 `fn`.is.called.at.least.once,.re
77440 73 75 6c 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 60 65 71 75 61 6c 60 2e sults.are.compared.with.`equal`.
77460 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e 6f 6e 2d ..```el.(-fix.(lambda.(l).(-non-
77480 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 6c 65 6e nil.(--mapcat.(-split-at.(/.(len
774a0 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 29 29 20 gth.it).2).it).l))).'((1.2.3))).
774c0 3b 3b 20 3d 3e 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 28 ;;.=>.((1).(2).(3)).(let.((l.'((
774e0 73 74 61 72 77 61 72 73 20 73 63 69 66 69 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 starwars.scifi).(jedi.starwars.w
77500 61 72 72 69 6f 72 29 29 29 29 20 28 2d 2d 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 arrior)))).(--fix.(-uniq.(--mapc
77520 61 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 at.(cons.it.(cdr.(assq.it.l))).i
77540 74 29 29 20 27 28 6a 65 64 69 20 62 6f 6f 6b 29 29 29 20 3b 3b 20 3d 3e 20 28 6a 65 64 69 20 73 t)).'(jedi.book))).;;.=>.(jedi.s
77560 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 0a 60 60 60 0a tarwars.warrior.scifi.book).```.
77580 0a 23 23 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 .##.Tree.operations..Functions.p
775a0 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 23 23 23 23 retending.lists.are.trees...####
775c0 20 2d 74 72 65 65 2d 73 65 71 20 60 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 .-tree-seq.`(branch.children.tre
775e0 65 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f e)`..Return.a.sequence.of.the.no
77600 64 65 73 20 69 6e 20 60 74 72 65 65 60 2c 20 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 des.in.`tree`,.in.depth-first.se
77620 61 72 63 68 20 6f 72 64 65 72 2e 0a 0a 60 62 72 61 6e 63 68 60 20 69 73 20 61 20 70 72 65 64 69 arch.order...`branch`.is.a.predi
77640 63 61 74 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e cate.of.one.argument.that.return
77660 73 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 74 68 65 0a 70 61 73 73 65 64 20 61 72 67 75 6d 65 s.non-`nil`.if.the.passed.argume
77680 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 nt.is.a.branch,.that.is,.a.node.
776a0 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 63 68 69 6c 64 72 65 6e 2e 0a 0a 60 63 68 69 6c 64 72 that.can.have.children...`childr
776c0 65 6e 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e en`.is.a.function.of.one.argumen
776e0 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 6c 64 72 65 6e 0a 6f 66 20 74 t.that.returns.the.children.of.t
77700 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 2e 0a 0a 4e 6f 6e 2d 62 72 61 6e he.passed.branch.node...Non-bran
77720 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 6f 70 69 65 64 2e 0a 0a 60 60 60 ch.nodes.are.simply.copied...```
77740 65 6c 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 69 64 65 6e 74 69 74 79 20 27 el.(-tree-seq.'listp.'identity.'
77760 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 (1.(2.3).4.(5.(6.7)))).;;.=>.((1
77780 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 31 20 28 32 20 33 29 20 32 20 33 20 .(2.3).4.(5.(6.7))).1.(2.3).2.3.
777a0 34 20 28 35 20 28 36 20 37 29 29 20 35 20 28 36 20 37 29 20 36 20 37 29 0a 28 2d 74 72 65 65 2d 4.(5.(6.7)).5.(6.7).6.7).(-tree-
777c0 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 76 65 72 73 65 20 27 28 31 20 28 32 20 33 29 20 34 20 seq.'listp.'reverse.'(1.(2.3).4.
777e0 28 35 20 28 36 20 37 29 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 (5.(6.7)))).;;.=>.((1.(2.3).4.(5
77800 20 28 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 20 28 36 20 37 29 20 37 20 36 20 35 20 34 .(6.7))).(5.(6.7)).(6.7).7.6.5.4
77820 20 28 32 20 33 29 20 33 20 32 20 31 29 0a 28 2d 2d 74 72 65 65 2d 73 65 71 20 28 76 65 63 74 6f .(2.3).3.2.1).(--tree-seq.(vecto
77840 72 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 6e 69 6c 29 20 5b 31 20 5b 32 20 33 5d 20 rp.it).(append.it.nil).[1.[2.3].
77860 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 20 3b 3b 20 3d 3e 20 28 5b 31 20 5b 32 20 33 5d 20 34 20 4.[5.[6.7]]]).;;.=>.([1.[2.3].4.
77880 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 33 20 34 20 5b 35 20 5b 36 20 37 [5.[6.7]]].1.[2.3].2.3.4.[5.[6.7
778a0 5d 5d 20 35 20 5b 36 20 37 5d 20 36 20 37 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d ]].5.[6.7].6.7).```..####.-tree-
778c0 6d 61 70 20 60 28 66 6e 20 74 72 65 65 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 map.`(fn.tree)`..Apply.`fn`.to.e
778e0 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 74 72 65 65 60 20 77 68 69 6c 65 20 70 72 65 73 ach.element.of.`tree`.while.pres
77900 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 20 73 74 72 75 63 74 75 72 65 2e 0a 0a 60 60 60 65 erving.the.tree.structure...```e
77920 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 28 35 l.(-tree-map.'1+.'(1.(2.3).(4.(5
77940 20 36 29 20 37 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 28 33 20 34 29 20 28 35 20 28 36 20 37 29 .6).7))).;;.=>.(2.(3.4).(5.(6.7)
77960 20 38 29 29 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f .8)).(-tree-map.'(lambda.(x).(co
77980 6e 73 20 78 20 28 65 78 70 74 20 32 20 78 29 29 29 20 27 28 31 20 28 32 20 33 29 20 34 29 29 20 ns.x.(expt.2.x))).'(1.(2.3).4)).
779a0 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 32 29 20 28 28 32 20 2e 20 34 29 20 28 33 20 2e 20 38 29 29 ;;.=>.((1...2).((2...4).(3...8))
779c0 20 28 34 20 2e 20 31 36 29 29 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 69 .(4...16)).(--tree-map.(length.i
779e0 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 3e 22 20 22 74 65 78 74 22 20 22 3c 2f 70 t).'("<body>".("<p>"."text"."</p
77a00 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 20 3b 3b 20 3d 3e 20 28 36 20 28 33 20 34 20 34 29 >")."</body>")).;;.=>.(6.(3.4.4)
77a20 20 37 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 60 28 .7).```..####.-tree-map-nodes.`(
77a40 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 60 0a 0a 43 61 6c 6c 20 60 66 75 6e 60 20 6f 6e 20 65 pred.fun.tree)`..Call.`fun`.on.e
77a60 61 63 68 20 6e 6f 64 65 20 6f 66 20 60 74 72 65 65 60 20 74 68 61 74 20 73 61 74 69 73 66 69 65 ach.node.of.`tree`.that.satisfie
77a80 73 20 60 70 72 65 64 60 2e 0a 0a 49 66 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 60 6e 69 s.`pred`...If.`pred`.returns.`ni
77aa0 6c 60 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 l`,.continue.descending.down.thi
77ac0 73 20 6e 6f 64 65 2e 20 20 49 66 20 60 70 72 65 64 60 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 s.node...If.`pred`.returns.non-`
77ae0 6e 69 6c 60 2c 20 61 70 70 6c 79 20 60 66 75 6e 60 20 74 6f 20 74 68 69 73 20 6e 6f 64 65 20 61 nil`,.apply.`fun`.to.this.node.a
77b00 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 2e 0a 0a 60 60 60 65 nd.do.not.descend.further...```e
77b20 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 27 76 65 63 74 6f 72 70 20 28 6c 61 6d l.(-tree-map-nodes.'vectorp.(lam
77b40 62 64 61 20 28 78 29 20 28 2d 73 75 6d 20 28 61 70 70 65 6e 64 20 78 20 6e 69 6c 29 29 29 20 27 bda.(x).(-sum.(append.x.nil))).'
77b60 28 31 20 5b 32 20 33 5d 20 34 20 28 35 20 5b 36 20 37 5d 20 38 29 29 29 20 3b 3b 20 3d 3e 20 28 (1.[2.3].4.(5.[6.7].8))).;;.=>.(
77b80 31 20 35 20 34 20 28 35 20 31 33 20 38 29 29 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 1.5.4.(5.13.8)).(-tree-map-nodes
77ba0 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 73 79 6d 62 6f 6c 2d 6e .'keywordp.(lambda.(x).(symbol-n
77bc0 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 36 20 3a 62 61 72 29 20 3a ame.x)).'(1.:foo.4.((5.6.:bar).:
77be0 62 61 7a 20 38 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 22 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 baz.8))).;;.=>.(1.":foo".4.((5.6
77c00 20 22 3a 62 61 72 22 29 20 22 3a 62 61 7a 22 20 38 29 29 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 2d .":bar").":baz".8)).(--tree-map-
77c20 6e 6f 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 61 64 64 2d 6d 6f 64 nodes.(eq.(car-safe.it).'add-mod
77c40 65 29 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 65 20 27 65 6d 61 63 e).(-concat.it.(list.:mode.'emac
77c60 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d s-lisp-mode)).'(with-mode.emacs-
77c80 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 lisp-mode.(foo.bar).(add-mode.a.
77ca0 62 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 20 3b 3b 20 3d 3e 20 b).(baz.(add-mode.c.d)))).;;.=>.
77cc0 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 (with-mode.emacs-lisp-mode.(foo.
77ce0 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c bar).(add-mode.a.b.:mode.emacs-l
77d00 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 20 3a 6d 6f isp-mode).(baz.(add-mode.c.d.:mo
77d20 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 de.emacs-lisp-mode))).```..####.
77d40 2d 74 72 65 65 2d 72 65 64 75 63 65 20 60 28 66 6e 20 74 72 65 65 29 60 0a 0a 55 73 65 20 60 66 -tree-reduce.`(fn.tree)`..Use.`f
77d60 6e 60 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 60 74 n`.to.reduce.elements.of.list.`t
77d80 72 65 65 60 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 20 ree`..If.elements.of.`tree`.are.
77da0 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 lists.themselves,.apply.the.redu
77dc0 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 60 66 6e 60 20 69 73 20 66 69 72 73 ction.recursively...`fn`.is.firs
77de0 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 t.applied.to.first.element.of.th
77e00 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 e.list.and.second.element,.then.
77e20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 on.this.result.and.third.element
77e40 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 53 65 65 20 5b 60 2d 72 65 64 75 .from.the.list.etc...See.[`-redu
77e60 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 66 6f 72 20 68 ce-r`](#-reduce-r-fn-list).for.h
77e80 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 20 7a 65 72 6f 20 6f 72 20 ow.exactly.are.lists.of.zero.or.
77ea0 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 one.element.handled...```el.(-tr
77ec0 65 65 2d 72 65 64 75 63 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 35 29 29 29 20 3b ee-reduce.'+.'(1.(2.3).(4.5))).;
77ee0 3b 20 3d 3e 20 31 35 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 ;.=>.15.(-tree-reduce.'concat.'(
77f00 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 "strings".(".on".".various").(("
77f20 20 6c 65 76 65 6c 73 22 29 29 29 29 20 3b 3b 20 3d 3e 20 22 73 74 72 69 6e 67 73 20 6f 6e 20 76 .levels")))).;;.=>."strings.on.v
77f40 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 63 arious.levels".(--tree-reduce.(c
77f60 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 69 74 29 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 ond.((stringp.it).(concat.it."."
77f80 20 61 63 63 29 29 20 28 74 20 28 6c 65 74 20 28 28 73 6e 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 .acc)).(t.(let.((sn.(symbol-name
77fa0 20 69 74 29 29 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 73 6e 20 22 3e 22 20 61 63 63 20 22 3c .it))).(concat."<".sn.">".acc."<
77fc0 2f 22 20 73 6e 20 22 3e 22 29 29 29 29 20 27 28 62 6f 64 79 20 28 70 20 22 73 6f 6d 65 20 77 6f /".sn.">")))).'(body.(p."some.wo
77fe0 72 64 73 22 29 20 28 64 69 76 20 22 6d 6f 72 65 22 20 28 62 20 22 62 6f 6c 64 22 29 20 22 77 6f rds").(div."more".(b."bold")."wo
78000 72 64 73 22 29 29 29 20 3b 3b 20 3d 3e 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 6f 72 rds"))).;;.=>."<body><p>some.wor
78020 64 73 3c 2f 70 3e 20 3c 64 69 76 3e 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 6f 72 ds</p>.<div>more.<b>bold</b>.wor
78040 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 ds</div></body>".```..####.-tree
78060 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 -reduce-from.`(fn.init-value.tre
78080 65 29 60 0a 0a 55 73 65 20 60 66 6e 60 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 e)`..Use.`fn`.to.reduce.elements
780a0 20 6f 66 20 6c 69 73 74 20 60 74 72 65 65 60 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 .of.list.`tree`..If.elements.of.
780c0 60 74 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 `tree`.are.lists.themselves,.app
780e0 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 60 ly.the.reduction.recursively...`
78100 66 6e 60 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 60 69 6e 69 74 2d 76 61 fn`.is.first.applied.to.`init-va
78120 6c 75 65 60 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 lue`.and.first.element.of.the.li
78140 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 6f st,.then.on.this.result.and.seco
78160 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 54 nd.element.from.the.list.etc...T
78180 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 he.initial.value.is.ignored.on.c
781a0 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e ons.pairs.as.they.always.contain
781c0 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 72 65 64 .two.elements...```el.(-tree-red
781e0 75 63 65 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 28 31 29 29 29 29 20 uce-from.'+.1.'(1.(1.1).((1)))).
78200 3b 3b 20 3d 3e 20 38 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2d 63 6f ;;.=>.8.(--tree-reduce-from.(-co
78220 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 20 69 74 29 29 20 6e 69 6c 20 27 28 31 20 28 32 20 33 ncat.acc.(list.it)).nil.'(1.(2.3
78240 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 20 3b 3b 20 3d 3e 20 28 28 37 20 36 29 20 28 28 35 .(4.5)).(6.7))).;;.=>.((7.6).((5
78260 20 34 29 20 33 20 32 29 20 31 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 6d 61 70 72 .4).3.2).1).```..####.-tree-mapr
78280 65 64 75 63 65 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 60 0a 0a 41 70 70 6c 79 20 educe.`(fn.folder.tree)`..Apply.
782a0 60 66 6e 60 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 74 72 65 65 60 2c 20 `fn`.to.each.element.of.`tree`,.
782c0 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a and.make.a.list.of.the.results..
782e0 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 If.elements.of.`tree`.are.lists.
78300 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 60 66 6e 60 20 72 65 63 75 72 73 69 76 65 themselves,.apply.`fn`.recursive
78320 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c ly.to.elements.of.these.nested.l
78340 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ists...Then.reduce.the.resulting
78360 20 6c 69 73 74 73 20 75 73 69 6e 67 20 60 66 6f 6c 64 65 72 60 20 61 6e 64 20 69 6e 69 74 69 61 .lists.using.`folder`.and.initia
78380 6c 20 76 61 6c 75 65 0a 60 69 6e 69 74 2d 76 61 6c 75 65 60 2e 20 53 65 65 20 5b 60 2d 72 65 64 l.value.`init-value`..See.[`-red
783a0 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d uce-r-from`](#-reduce-r-from-fn-
783c0 69 6e 69 74 2d 6c 69 73 74 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 init-list)...This.is.the.same.as
783e0 20 63 61 6c 6c 69 6e 67 20 5b 60 2d 74 72 65 65 2d 72 65 64 75 63 65 60 5d 28 23 2d 74 72 65 65 .calling.[`-tree-reduce`](#-tree
78400 2d 72 65 64 75 63 65 2d 66 6e 2d 74 72 65 65 29 20 61 66 74 65 72 20 5b 60 2d 74 72 65 65 2d 6d -reduce-fn-tree).after.[`-tree-m
78420 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 66 6e 2d 74 72 65 65 29 0a 62 75 74 20 69 73 20 ap`](#-tree-map-fn-tree).but.is.
78440 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 twice.as.fast.as.it.only.travers
78460 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 e.the.structure.once...```el.(-t
78480 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 70 70 65 6e 64 20 27 28 31 20 ree-mapreduce.'list.'append.'(1.
784a0 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 20 3b 3b 20 3d (2.(3.4).(5.6)).(7.(8.9)))).;;.=
784c0 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 28 2d 2d 74 72 65 65 2d 6d 61 >.(1.2.3.4.5.6.7.8.9).(--tree-ma
784e0 70 72 65 64 75 63 65 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 28 34 20 39 preduce.1.(+.it.acc).'(1.(2.(4.9
78500 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d 3e 20 39 0a 28 2d 2d ).(2.1)).(7.(4.3)))).;;.=>.9.(--
78520 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 tree-mapreduce.0.(max.acc.(1+.it
78540 29 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 )).'(1.(2.(4.9).(2.1)).(7.(4.3))
78560 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 6d 61 70 72 65 )).;;.=>.3.```..####.-tree-mapre
78580 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 duce-from.`(fn.folder.init-value
785a0 20 74 72 65 65 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 65 6c 65 6d .tree)`..Apply.`fn`.to.each.elem
785c0 65 6e 74 20 6f 66 20 60 74 72 65 65 60 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f ent.of.`tree`,.and.make.a.list.o
785e0 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 f.the.results..If.elements.of.`t
78600 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 ree`.are.lists.themselves,.apply
78620 20 60 66 6e 60 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 .`fn`.recursively.to.elements.of
78640 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 .these.nested.lists...Then.reduc
78660 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 60 66 6f 6c e.the.resulting.lists.using.`fol
78680 64 65 72 60 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 60 69 6e 69 74 2d 76 61 6c der`.and.initial.value.`init-val
786a0 75 65 60 2e 20 53 65 65 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 ue`..See.[`-reduce-r-from`](#-re
786c0 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 2e 0a 0a 54 68 69 73 duce-r-from-fn-init-list)...This
786e0 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 5b 60 2d 74 72 65 65 2d .is.the.same.as.calling.[`-tree-
78700 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d reduce-from`](#-tree-reduce-from
78720 2d 66 6e 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 29 20 61 66 74 65 72 20 5b 60 2d 74 72 -fn-init-value-tree).after.[`-tr
78740 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 66 6e 2d 74 72 65 65 29 0a 62 75 74 ee-map`](#-tree-map-fn-tree).but
78760 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 .is.twice.as.fast.as.it.only.tra
78780 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 60 60 60 65 6c verse.the.structure.once...```el
787a0 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 .(-tree-mapreduce-from.'identity
787c0 20 27 2a 20 31 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 .'*.1.'(1.(2.(3.4).(5.6)).(7.(8.
787e0 39 29 29 29 29 20 3b 3b 20 3d 3e 20 33 36 32 38 38 30 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 9)))).;;.=>.362880.(--tree-mapre
78800 64 75 63 65 2d 66 72 6f 6d 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f 6e 73 20 69 74 20 61 63 63 duce-from.(+.it.it).(cons.it.acc
78820 29 20 6e 69 6c 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 ).nil.'(1.(2.(4.9).(2.1)).(7.(4.
78840 33 29 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 3)))).;;.=>.(2.(4.(8.18).(4.2)).
78860 28 31 34 20 28 38 20 36 29 29 29 0a 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 2d 2d 74 72 65 65 2d (14.(8.6))).(concat."{".(--tree-
78880 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 mapreduce-from.(cond.((-cons-pai
788a0 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 r?.it).(concat.(symbol-name.(car
788c0 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 .it)).".->.".(symbol-name.(cdr.i
788e0 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 t)))).(t.(concat.(symbol-name.it
78900 29 20 22 20 3a 20 7b 22 29 29 29 20 28 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 ).".:.{"))).(concat.it.(unless.(
78920 6f 72 20 28 65 71 75 61 6c 20 61 63 63 20 22 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 or.(equal.acc."}").(equal.(subst
78940 72 69 6e 67 20 69 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 7b 22 29 29 20 ring.it.(1-.(length.it)))."{")).
78960 22 2c 20 22 29 20 61 63 63 29 20 22 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f ",.").acc)."}".'((elisp-mode.(fo
78980 6f 20 28 62 61 72 20 2e 20 62 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 75 78 29 29 20 28 63 o.(bar...booze)).(baz...qux)).(c
789a0 2d 6d 6f 64 65 20 28 66 6f 6f 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 62 61 6d 29 29 29 29 -mode.(foo...bla).(bum...bam))))
789c0 29 20 3b 3b 20 3d 3e 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 7b 66 6f 6f 20 3a 20 7b 62 ).;;.=>."{elisp-mode.:.{foo.:.{b
789e0 61 72 20 2d 3e 20 62 6f 6f 7a 65 7d 2c 20 62 61 7a 20 2d 3e 20 71 75 78 7d 2c 20 63 2d 6d 6f 64 ar.->.booze},.baz.->.qux},.c-mod
78a00 65 20 3a 20 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 2d 3e 20 62 61 6d 7d 7d 22 0a 60 e.:.{foo.->.bla,.bum.->.bam}}".`
78a20 60 60 0a 0a 23 23 23 23 20 2d 63 6c 6f 6e 65 20 60 28 6c 69 73 74 29 60 0a 0a 43 72 65 61 74 65 ``..####.-clone.`(list)`..Create
78a40 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a 54 68 65 20 6e 65 77 20 .a.deep.copy.of.`list`..The.new.
78a60 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 73 list.has.the.same.elements.and.s
78a80 74 72 75 63 74 75 72 65 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 0a 72 65 70 6c 61 63 tructure.but.all.cons.are.replac
78aa0 65 64 20 77 69 74 68 20 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 ed.with.new.ones...This.is.usefu
78ac0 6c 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 0a 73 74 72 75 63 l.when.you.need.to.clone.a.struc
78ae0 74 75 72 65 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 60 60 ture.such.as.plist.or.alist...``
78b00 60 65 6c 0a 28 6c 65 74 2a 20 28 28 61 20 28 6c 69 73 74 20 28 6c 69 73 74 20 31 29 29 29 20 28 `el.(let*.((a.(list.(list.1))).(
78b20 62 20 28 2d 63 6c 6f 6e 65 20 61 29 29 29 20 28 73 65 74 63 61 72 20 28 63 61 72 20 61 29 20 32 b.(-clone.a))).(setcar.(car.a).2
78b40 29 20 62 29 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 60 60 60 0a 0a 23 23 20 54 68 72 65 61 64 69 ).b).;;.=>.((1)).```..##.Threadi
78b60 6e 67 20 6d 61 63 72 6f 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e ng.macros..Macros.that.condition
78b80 61 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f ally.combine.sequential.forms.fo
78ba0 72 20 62 72 65 76 69 74 79 0a 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 23 23 23 23 20 r.brevity.or.readability...####.
78bc0 2d 3e 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 ->.`(x.&optional.form.&rest.more
78be0 29 60 0a 0a 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 )`..Thread.the.expr.through.the.
78c00 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 60 78 60 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 forms..Insert.`x`.as.the.second.
78c20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 item.in.the.first.form,.making.a
78c40 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a .list.of.it.if.it.is.not.a.list.
78c60 61 6c 72 65 61 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 already..If.there.are.more.forms
78c80 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 ,.insert.the.first.form.as.the.s
78ca0 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a econd.item.in.second.form,.etc..
78cc0 0a 60 60 60 65 6c 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 .```el.(->.'(2.3.5)).;;.=>.(2.3.
78ce0 35 29 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 5).(->.'(2.3.5).(append.'(8.13))
78d00 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 20 38 20 31 33 29 0a 28 2d 3e 20 27 28 32 20 33 20 35 ).;;.=>.(2.3.5.8.13).(->.'(2.3.5
78d20 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 ).(append.'(8.13)).(-slice.1.-1)
78d40 29 20 3b 3b 20 3d 3e 20 28 33 20 35 20 38 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 3e 3e 20 60 28 ).;;.=>.(3.5.8).```..####.->>.`(
78d60 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 0a 54 x.&optional.form.&rest.more)`..T
78d80 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 hread.the.expr.through.the.forms
78da0 2e 20 49 6e 73 65 72 74 20 60 78 60 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e ..Insert.`x`.as.the.last.item.in
78dc0 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f .the.first.form,.making.a.list.o
78de0 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 f.it.if.it.is.not.a.list.already
78e00 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 ..If.there.are.more.forms,.inser
78e20 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 t.the.first.form.as.the.last.ite
78e40 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d m.in.second.form,.etc...```el.(-
78e60 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 20 3b 3b 20 3d >>.'(1.2.3).(-map.'square)).;;.=
78e80 3e 20 28 31 20 34 20 39 29 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 >.(1.4.9).(->>.'(1.2.3).(-map.'s
78ea0 71 75 61 72 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 20 3b 3b 20 3d 3e 20 28 quare).(-remove.'even?)).;;.=>.(
78ec0 31 20 39 29 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 1.9).(->>.'(1.2.3).(-map.'square
78ee0 29 20 28 2d 72 65 64 75 63 65 20 27 2b 29 29 20 3b 3b 20 3d 3e 20 31 34 0a 60 60 60 0a 0a 23 23 ).(-reduce.'+)).;;.=>.14.```..##
78f00 23 23 20 2d 2d 3e 20 60 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 53 74 61 72 74 69 ##.-->.`(x.&rest.forms)`..Starti
78f20 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 78 60 2c 20 74 68 72 65 61 64 ng.with.the.value.of.`x`,.thread
78f40 20 65 61 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 .each.expression.through.`forms`
78f60 2e 0a 0a 49 6e 73 65 72 74 20 60 78 60 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 ...Insert.`x`.at.the.position.si
78f80 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 69 74 60 20 69 6e 20 74 68 gnified.by.the.symbol.`it`.in.th
78fa0 65 20 66 69 72 73 74 0a 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 e.first.form...If.there.are.more
78fc0 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 .forms,.insert.the.first.form.at
78fe0 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 20 60 69 74 60 20 .the.position.signified.by.`it`.
79000 69 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a in.the.second.form,.etc...```el.
79020 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 (-->."def".(concat."abc".it."ghi
79040 22 29 29 20 3b 3b 20 3d 3e 20 22 61 62 63 64 65 66 67 68 69 22 0a 28 2d 2d 3e 20 22 64 65 66 22 ")).;;.=>."abcdefghi".(-->."def"
79060 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 28 75 70 63 61 73 65 .(concat."abc".it."ghi").(upcase
79080 20 69 74 29 29 20 3b 3b 20 3d 3e 20 22 41 42 43 44 45 46 47 48 49 22 0a 28 2d 2d 3e 20 22 64 65 .it)).;;.=>."ABCDEFGHI".(-->."de
790a0 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 63 61 73 f".(concat."abc".it."ghi").upcas
790c0 65 29 20 3b 3b 20 3d 3e 20 22 41 42 43 44 45 46 47 48 49 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d e).;;.=>."ABCDEFGHI".```..####.-
790e0 61 73 2d 3e 20 60 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d as->.`(value.variable.&rest.form
79100 73 29 60 0a 0a 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 76 61 6c 75 65 60 2c 20 74 68 72 65 s)`..Starting.with.`value`,.thre
79120 61 64 20 60 76 61 72 69 61 62 6c 65 60 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 2e 0a 0a ad.`variable`.through.`forms`...
79140 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 6e 64 20 60 76 61 72 69 61 62 6c In.the.first.form,.bind.`variabl
79160 65 60 20 74 6f 20 60 76 61 6c 75 65 60 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f e`.to.`value`...In.the.second.fo
79180 72 6d 2c 20 62 69 6e 64 0a 60 76 61 72 69 61 62 6c 65 60 20 74 6f 20 74 68 65 20 72 65 73 75 6c rm,.bind.`variable`.to.the.resul
791a0 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 t.of.the.first.form,.and.so.fort
791c0 68 2e 0a 0a 60 60 60 65 6c 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 h...```el.(-as->.3.my-var.(1+.my
791e0 2d 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d -var).(list.my-var).(mapcar.(lam
79200 62 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 20 3b 3b bda.(ele).(*.2.ele)).my-var)).;;
79220 20 3d 3e 20 28 38 29 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 20 3b 3b 20 3d .=>.(8).(-as->.3.my-var.1+).;;.=
79240 3e 20 34 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 >.4.(-as->.3.my-var).;;.=>.3.```
79260 0a 0a 23 23 23 23 20 2d 73 6f 6d 65 2d 3e 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 ..####.-some->.`(x.&optional.for
79280 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e m.&rest.more)`..When.expr.is.non
792a0 2d 60 6e 69 6c 60 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 -`nil`,.thread.it.through.the.fi
792c0 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e rst.form.(via.[`->`](#--x-option
792e0 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 al-form-rest-more)),.and.when.th
79300 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 74 68 72 6f 75 67 68 20 at.result.is.non-`nil`,.through.
79320 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d the.next.form,.etc...```el.(-som
79340 65 2d 3e 20 27 28 32 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 29 0a 28 2d 73 6f e->.'(2.3.5)).;;.=>.(2.3.5).(-so
79360 6d 65 2d 3e 20 35 20 73 71 75 61 72 65 29 20 3b 3b 20 3d 3e 20 32 35 0a 28 2d 73 6f 6d 65 2d 3e me->.5.square).;;.=>.25.(-some->
79380 20 35 20 65 76 65 6e 3f 20 73 71 75 61 72 65 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a .5.even?.square).;;.=>.nil.```..
793a0 23 23 23 23 20 2d 73 6f 6d 65 2d 3e 3e 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d ####.-some->>.`(x.&optional.form
793c0 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d .&rest.more)`..When.expr.is.non-
793e0 60 6e 69 6c 60 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 `nil`,.thread.it.through.the.fir
79400 73 74 20 66 6f 72 6d 20 28 76 69 61 20 5b 60 2d 3e 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e st.form.(via.[`->>`](#--x-option
79420 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 al-form-rest-more)),.and.when.th
79440 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 74 68 72 6f 75 67 68 20 at.result.is.non-`nil`,.through.
79460 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d the.next.form,.etc...```el.(-som
79480 65 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 20 3b 3b e->>.'(1.2.3).(-map.'square)).;;
794a0 20 3d 3e 20 28 31 20 34 20 39 29 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 33 20 35 29 20 28 .=>.(1.4.9).(-some->>.'(1.3.5).(
794c0 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c -last.'even?).(+.100)).;;.=>.nil
794e0 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 20 34 20 36 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e .(-some->>.'(2.4.6).(-last.'even
79500 3f 29 20 28 2b 20 31 30 30 29 29 20 3b 3b 20 3d 3e 20 31 30 36 0a 60 60 60 0a 0a 23 23 23 23 20 ?).(+.100)).;;.=>.106.```..####.
79520 2d 73 6f 6d 65 2d 2d 3e 20 60 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 54 -some-->.`(expr.&rest.forms)`..T
79540 68 72 65 61 64 20 60 65 78 70 72 60 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 20 76 69 61 hread.`expr`.through.`forms`.via
79560 20 5b 60 2d 2d 3e 60 5d 28 23 2d 2d 2d 78 2d 72 65 73 74 2d 66 6f 72 6d 73 29 2c 20 77 68 69 6c .[`-->`](#---x-rest-forms),.whil
79580 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 57 68 65 6e 20 e.the.result.is.non-`nil`..When.
795a0 60 65 78 70 72 60 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 74 `expr`.evaluates.to.non-`nil`,.t
795c0 68 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 hread.the.result.through.the.fir
795e0 73 74 20 6f 66 20 60 66 6f 72 6d 73 60 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 st.of.`forms`,.and.when.that.res
79600 75 6c 74 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 74 68 72 65 61 64 20 69 74 0a 74 68 72 6f ult.is.non-`nil`,.thread.it.thro
79620 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 ugh.the.next.form,.etc...```el.(
79640 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 -some-->."def".(concat."abc".it.
79660 22 67 68 69 22 29 29 20 3b 3b 20 3d 3e 20 22 61 62 63 64 65 66 67 68 69 22 0a 28 2d 73 6f 6d 65 "ghi")).;;.=>."abcdefghi".(-some
79680 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 -->.nil.(concat."abc".it."ghi"))
796a0 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 30 20 31 29 20 28 2d 72 65 .;;.=>.nil.(-some-->.'(0.1).(-re
796c0 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 69 74 move.#'natnump.it).(append.it.it
796e0 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a ).(-map.#'1+.it)).;;.=>.().```..
79700 23 23 23 23 20 2d 64 6f 74 6f 20 60 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a ####.-doto.`(init.&rest.forms)`.
79720 0a 45 76 61 6c 75 61 74 65 20 60 69 6e 69 74 60 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 .Evaluate.`init`.and.pass.it.as.
79740 61 72 67 75 6d 65 6e 74 20 74 6f 20 60 66 6f 72 6d 73 60 20 77 69 74 68 20 5b 60 2d 3e 60 5d 28 argument.to.`forms`.with.[`->`](
79760 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 2e 0a 54 #--x-optional-form-rest-more)..T
79780 68 65 20 60 72 65 73 75 6c 74 60 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 60 69 6e 69 74 60 he.`result`.of.evaluating.`init`
797a0 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 20 60 66 6f .is.threaded.through.each.of.`fo
797c0 72 6d 73 60 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 5b 60 2d 3e 60 5d 28 23 rms`.individually.using.[`->`](#
797e0 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 2c 20 77 68 --x-optional-form-rest-more),.wh
79800 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 60 72 ich.see...The.return.value.is.`r
79820 65 73 75 6c 74 60 2c 0a 77 68 69 63 68 20 60 66 6f 72 6d 73 60 20 6d 61 79 20 68 61 76 65 20 6d esult`,.which.`forms`.may.have.m
79840 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 60 60 60 65 6c 0a 28 odified.by.side.effect...```el.(
79860 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 20 3b 3b 20 3d -doto.(list.1.2.3).pop.pop).;;.=
79880 3e 20 28 33 29 0a 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 >.(3).(-doto.(cons.1.2).(setcar.
798a0 33 29 20 28 73 65 74 63 64 72 20 34 29 29 20 3b 3b 20 3d 3e 20 28 33 20 2e 20 34 29 0a 28 67 65 3).(setcdr.4)).;;.=>.(3...4).(ge
798c0 74 68 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c thash.'k.(--doto.(make-hash-tabl
798e0 65 29 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 69 74 29 29 29 20 3b 3b 20 3d 3e 20 76 0a e).(puthash.'k.'v.it))).;;.=>.v.
79900 60 60 60 0a 0a 23 23 20 42 69 6e 64 69 6e 67 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6d ```..##.Binding..Macros.that.com
79920 62 69 6e 65 20 60 6c 65 74 60 20 61 6e 64 20 60 6c 65 74 2a 60 20 77 69 74 68 20 64 65 73 74 72 bine.`let`.and.`let*`.with.destr
79940 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e 74 72 6f 6c 2e 0a 0a 23 23 23 23 ucturing.and.flow.control...####
79960 20 2d 77 68 65 6e 2d 6c 65 74 20 60 28 28 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 .-when-let.`((var.val).&rest.bod
79980 79 29 60 0a 0a 49 66 20 60 76 61 6c 60 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 60 y)`..If.`val`.evaluates.to.non-`
799a0 6e 69 6c 60 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 60 76 61 72 60 20 61 6e 64 20 65 78 65 63 75 nil`,.bind.it.to.`var`.and.execu
799c0 74 65 20 62 6f 64 79 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 te.body...Note:.binding.is.done.
799e0 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c according.to.[`-let`](#-let-varl
79a00 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 77 68 65 6e 2d 6c 65 ist-rest-body)...```el.(-when-le
79a20 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 t.(match-index.(string-match."d"
79a40 20 22 61 62 63 64 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 32 29 29 20 3b 3b 20 ."abcd")).(+.match-index.2)).;;.
79a60 3d 3e 20 35 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f =>.5.(-when-let.((&plist.:foo.fo
79a80 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 20 66 6f 6f 29 20 3b 3b 20 3d 3e o).(list.:foo."foo")).foo).;;.=>
79aa0 20 22 66 6f 6f 22 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 ."foo".(-when-let.((&plist.:foo.
79ac0 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 72 22 29 29 20 66 6f 6f 29 20 3b 3b 20 foo).(list.:bar."bar")).foo).;;.
79ae0 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 60 28 76 61 =>.nil.```..####.-when-let*.`(va
79b00 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 0a 49 66 20 61 6c 6c 20 60 76 61 rs-vals.&rest.body)`..If.all.`va
79b20 6c 73 60 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 ls`.evaluate.to.true,.bind.them.
79b40 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 60 76 61 72 73 60 20 61 6e to.their.corresponding.`vars`.an
79b60 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 20 60 76 61 72 73 2d 76 61 6c 73 60 20 73 68 6f 75 d.execute.body..`vars-vals`.shou
79b80 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 60 76 61 72 60 20 60 76 61 6c 60 29 0a 70 61 ld.be.a.list.of.(`var`.`val`).pa
79ba0 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f irs...Note:.binding.is.done.acco
79bc0 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 rding.to.[`-let*`](#-let-varlist
79be0 2d 72 65 73 74 2d 62 6f 64 79 29 2e 20 20 60 76 61 6c 73 60 20 61 72 65 20 65 76 61 6c 75 61 74 -rest-body)...`vals`.are.evaluat
79c00 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 ed.sequentially,.and.evaluation.
79c20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 60 6e 69 6c 60 20 60 76 61 6c stops.after.the.first.`nil`.`val
79c40 60 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 77 68 65 6e 2d `.is.encountered...```el.(-when-
79c60 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 28 2b 20 79 20 34 29 29 29 20 28 let*.((x.5).(y.3).(z.(+.y.4))).(
79c80 2b 20 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 +.x.y.z)).;;.=>.15.(-when-let*.(
79ca0 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 29 20 (x.5).(y.nil).(z.7)).(+.x.y.z)).
79cc0 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 66 2d 6c 65 74 20 60 28 28 76 ;;.=>.nil.```..####.-if-let.`((v
79ce0 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 60 0a 0a 49 66 20 60 76 ar.val).then.&rest.else)`..If.`v
79d00 61 6c 60 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 62 69 6e 64 al`.evaluates.to.non-`nil`,.bind
79d20 20 69 74 20 74 6f 20 60 76 61 72 60 20 61 6e 64 20 64 6f 20 60 74 68 65 6e 60 2c 0a 6f 74 68 65 .it.to.`var`.and.do.`then`,.othe
79d40 72 77 69 73 65 20 64 6f 20 60 65 6c 73 65 60 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 rwise.do.`else`...Note:.binding.
79d60 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 60 5d 28 23 2d is.done.according.to.[`-let`](#-
79d80 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 60 60 60 65 6c 0a 28 let-varlist-rest-body)...```el.(
79da0 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 -if-let.(match-index.(string-mat
79dc0 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 33 29 ch."d"."abc")).(+.match-index.3)
79de0 20 37 29 20 3b 3b 20 3d 3e 20 37 0a 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 65 6e 3f 20 34 29 20 .7).;;.=>.7.(--if-let.(even?.4).
79e00 69 74 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 66 2d 6c 65 it.nil).;;.=>.t.```..####.-if-le
79e20 74 2a 20 60 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 60 t*.`(vars-vals.then.&rest.else)`
79e40 0a 0a 49 66 20 61 6c 6c 20 60 76 61 6c 73 60 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 ..If.all.`vals`.evaluate.to.true
79e60 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 ,.bind.them.to.their.correspondi
79e80 6e 67 0a 60 76 61 72 73 60 20 61 6e 64 20 64 6f 20 60 74 68 65 6e 60 2c 20 6f 74 68 65 72 77 69 ng.`vars`.and.do.`then`,.otherwi
79ea0 73 65 20 64 6f 20 60 65 6c 73 65 60 2e 20 60 76 61 72 73 2d 76 61 6c 73 60 20 73 68 6f 75 6c 64 se.do.`else`..`vars-vals`.should
79ec0 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 28 60 76 61 72 60 20 60 76 61 6c 60 29 20 70 61 69 72 .be.a.list.of.(`var`.`val`).pair
79ee0 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 s...Note:.binding.is.done.accord
79f00 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 ing.to.[`-let*`](#-let-varlist-r
79f20 65 73 74 2d 62 6f 64 79 29 2e 20 20 60 76 61 6c 73 60 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 est-body)...`vals`.are.evaluated
79f40 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 .sequentially,.and.evaluation.st
79f60 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 60 6e 69 6c 60 20 60 76 61 6c 60 20 ops.after.the.first.`nil`.`val`.
79f80 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 66 2d 6c 65 74 2a is.encountered...```el.(-if-let*
79fa0 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 .((x.5).(y.3).(z.7)).(+.x.y.z)."
79fc0 66 6f 6f 22 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 foo").;;.=>.15.(-if-let*.((x.5).
79fe0 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 20 (y.nil).(z.7)).(+.x.y.z)."foo").
7a000 3b 3b 20 3d 3e 20 22 66 6f 6f 22 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 5f 20 78 29 20 ;;.=>."foo".(-if-let*.(((_._.x).
7a020 27 28 6e 69 6c 20 6e 69 6c 20 37 29 29 29 20 78 29 20 3b 3b 20 3d 3e 20 37 0a 60 60 60 0a 0a 23 '(nil.nil.7))).x).;;.=>.7.```..#
7a040 23 23 23 20 2d 6c 65 74 20 60 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a ###.-let.`(varlist.&rest.body)`.
7a060 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 76 61 .Bind.variables.according.to.`va
7a080 72 6c 69 73 74 60 20 74 68 65 6e 20 65 76 61 6c 20 60 62 6f 64 79 60 2e 0a 0a 60 76 61 72 6c 69 rlist`.then.eval.`body`...`varli
7a0a0 73 74 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f st`.is.a.list.of.lists.of.the.fo
7a0c0 72 6d 20 28 60 70 61 74 74 65 72 6e 60 20 60 73 6f 75 72 63 65 60 29 2e 20 20 45 61 63 68 0a 60 rm.(`pattern`.`source`)...Each.`
7a0e0 70 61 74 74 65 72 6e 60 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 pattern`.is.matched.against.the.
7a100 60 73 6f 75 72 63 65 60 20 22 73 74 72 75 63 74 75 72 61 6c 6c 79 22 2e 20 20 60 73 6f 75 72 63 `source`."structurally"...`sourc
7a120 65 60 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 e`.is.only.evaluated.once.for.ea
7a140 63 68 20 60 70 61 74 74 65 72 6e 60 2e 20 20 45 61 63 68 20 60 70 61 74 74 65 72 6e 60 20 69 73 ch.`pattern`...Each.`pattern`.is
7a160 20 6d 61 74 63 68 65 64 0a 72 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 .matched.recursively,.and.can.th
7a180 65 72 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 erefore.contain.sub-patterns.whi
7a1a0 63 68 20 61 72 65 0a 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e ch.are.matched.against.correspon
7a1c0 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 60 73 6f 75 72 63 65 60 ding.sub-expressions.of.`source`
7a1e0 2e 0a 0a 41 6c 6c 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 ...All.the.SOURCEs.are.evalled.b
7a200 65 66 6f 72 65 20 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 0a 62 6f 75 6e 64 20 28 69 2e 65 efore.any.symbols.are.bound.(i.e
7a220 2e 20 22 69 6e 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 49 66 20 60 76 61 72 6c 69 73 74 60 20 .."in.parallel")...If.`varlist`.
7a240 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 60 70 61 74 74 65 72 6e 60 20 60 73 6f only.contains.one.(`pattern`.`so
7a260 75 72 63 65 60 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f 70 74 69 6f 6e 61 6c urce`).element,.you.can.optional
7a280 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f 72 20 61 6e 64 ly.specify.it.using.a.vector.and
7a2a0 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 74 20 70 61 72 65 6e .discarding.the.outer-most.paren
7a2c0 73 2e 20 20 54 68 75 73 0a 0a 20 20 20 20 28 2d 6c 65 74 20 28 28 60 70 61 74 74 65 72 6e 60 20 s...Thus......(-let.((`pattern`.
7a2e0 60 73 6f 75 72 63 65 60 29 29 20 2e 2e 2e 29 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 20 20 20 28 2d `source`))....)..becomes......(-
7a300 6c 65 74 20 5b 60 70 61 74 74 65 72 6e 60 20 60 73 6f 75 72 63 65 60 5d 20 2e 2e 2e 29 2e 0a 0a let.[`pattern`.`source`]....)...
7a320 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 [`-let`](#-let-varlist-rest-body
7a340 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 ).uses.a.convention.of.not.bindi
7a360 6e 67 20 70 6c 61 63 65 73 20 28 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e 67 0a 77 69 74 ng.places.(symbols).starting.wit
7a380 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 27 73 20 70 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 h._.whenever.it's.possible...You
7a3a0 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 0a 65 6e 74 72 69 .can.use.this.to.skip.over.entri
7a3c0 65 73 20 79 6f 75 20 64 6f 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 es.you.don't.care.about...Howeve
7a3e0 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 2a 61 6c 77 61 79 73 2a 0a 70 6f 73 73 69 62 6c 65 r,.this.is.not.*always*.possible
7a400 20 28 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 .(as.a.result.of.implementation)
7a420 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 6d 69 67 68 74 0a 67 65 74 20 62 6f 75 .and.these.symbols.might.get.bou
7a440 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 46 6f 6c 6c 6f 77 69 nd.to.undefined.values...Followi
7a460 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 ng.is.the.overview.of.supported.
7a480 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 70 61 74 74 65 72 6e patterns...Remember.that.pattern
7a4a0 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2c 20 73 6f s.can.be.matched.recursively,.so
7a4c0 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 .every.a,.b,.aK.in.the.following
7a4e0 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 .can.be.a.matching.construct.and
7a500 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 0a 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 .not.necessarily.a.symbol/variab
7a520 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a 0a 0a 20 20 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 20 60 le...Symbol:......a.-.bind.the.`
7a540 73 6f 75 72 63 65 60 20 74 6f 20 60 61 60 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 source`.to.`a`...This.is.just.li
7a560 6b 65 20 72 65 67 75 6c 61 72 20 60 6c 65 74 60 2e 0a 0a 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 ke.regular.`let`...Conses.and.li
7a580 73 74 73 3a 0a 0a 20 20 20 20 28 61 29 20 2d 20 62 69 6e 64 20 60 63 61 72 60 20 6f 66 20 63 6f sts:......(a).-.bind.`car`.of.co
7a5a0 6e 73 2f 6c 69 73 74 20 74 6f 20 60 61 60 0a 0a 20 20 20 20 28 61 20 2e 20 62 29 20 2d 20 62 69 ns/list.to.`a`......(a...b).-.bi
7a5c0 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 60 61 60 20 61 6e 64 20 60 63 64 72 60 20 nd.car.of.cons.to.`a`.and.`cdr`.
7a5e0 74 6f 20 60 62 60 0a 0a 20 20 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 to.`b`......(a.b).-.bind.car.of.
7a600 6c 69 73 74 20 74 6f 20 60 61 60 20 61 6e 64 20 60 63 61 64 72 60 20 74 6f 20 60 62 60 0a 0a 20 list.to.`a`.and.`cadr`.to.`b`...
7a620 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 ...(a1.a2.a3....).-.bind.0th.car
7a640 20 6f 66 20 6c 69 73 74 20 74 6f 20 60 61 31 60 2c 20 31 73 74 20 74 6f 20 60 61 32 60 2c 20 32 .of.list.to.`a1`,.1st.to.`a2`,.2
7a660 6e 64 20 74 6f 20 60 61 33 60 2e 2e 2e 0a 0a 20 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e nd.to.`a3`.........(a1.a2.a3....
7a680 20 61 4e 20 2e 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 .aN...rest).-.as.above,.but.bind
7a6a0 20 74 68 65 20 60 6e 60 74 68 20 63 64 72 20 74 6f 20 60 72 65 73 74 60 2e 0a 0a 56 65 63 74 6f .the.`n`th.cdr.to.`rest`...Vecto
7a6c0 72 73 3a 0a 0a 20 20 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 rs:......[a].-.bind.0th.element.
7a6e0 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 61 60 20 28 77 of.a.non-list.sequence.to.`a`.(w
7a700 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 2c 20 73 74 72 orks.with...........vectors,.str
7a720 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a 0a 20 20 20 20 5b 61 31 20 61 32 ings,.bit.arrays...)......[a1.a2
7a740 20 61 33 20 2e 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 6e .a3....].-.bind.0th.element.of.n
7a760 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 61 30 60 2c 20 31 73 74 20 74 6f on-list.sequence.to.`a0`,.1st.to
7a780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 61 31 60 2c 20 32 6e 64 20 ......................`a1`,.2nd.
7a7a0 74 6f 20 60 61 32 60 2c 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 to.`a2`,........................
7a7c0 20 20 49 66 20 74 68 65 20 60 70 61 74 74 65 72 6e 60 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 ..If.the.`pattern`.is.shorter.th
7a7e0 61 6e 20 60 73 6f 75 72 63 65 60 2c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 0a 20 20 20 20 20 an.`source`,.the.values.at......
7a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 6e 6f 74 20 69 6e 20 60 70 ................places.not.in.`p
7a820 61 74 74 65 72 6e 60 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 attern`.are.ignored.............
7a840 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 60 70 61 74 74 65 72 6e 60 20 69 73 20 6c 6f ..........If.the.`pattern`.is.lo
7a860 6e 67 65 72 20 74 68 61 6e 20 60 73 6f 75 72 63 65 60 2c 20 61 6e 20 60 65 72 72 6f 72 60 20 69 nger.than.`source`,.an.`error`.i
7a880 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 6e 2e 0a 0a s......................thrown...
7a8a0 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d 20 ....[a1.a2.a3.....&rest.rest].-.
7a8c0 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 0a 20 as.above,.but.bind.the.rest.of..
7a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 ...............................t
7a900 68 65 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 72 65 73 74 60 2e 20 20 54 68 69 73 20 69 73 0a he.sequence.to.`rest`...This.is.
7a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7a940 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 65 conceptually.the.same.as.imprope
7a960 72 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.list..........................
7a980 20 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 2e 20 .......matching.(a1.a2.....aN...
7a9a0 72 65 73 74 29 0a 0a 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 20 20 20 28 26 rest)..Key/value.stores:......(&
7a9c0 70 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e plist.key0.a0.....keyN.aN).-.bin
7a9e0 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 d.value.mapped.by.keyK.in.the...
7aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7aa20 20 60 73 6f 75 72 63 65 60 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 .`source`.plist.to.aK...If.the..
7aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7aa60 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 60 6e 69 6c ..value.is.not.found,.aK.is.`nil
7aa80 60 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 `...............................
7aaa0 20 20 20 20 20 20 55 73 65 73 20 60 70 6c 69 73 74 2d 67 65 74 60 20 74 6f 20 66 65 74 63 68 20 ......Uses.`plist-get`.to.fetch.
7aac0 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e values.......(&alist.key0.a0....
7aae0 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 .keyN.aN).-.bind.value.mapped.by
7ab00 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .keyK.in.the....................
7ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 73 6f 75 72 63 65 60 20 61 6c 69 73 74 20 74 ................`source`.alist.t
7ab40 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o.aK...If.the...................
7ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f .................value.is.not.fo
7ab80 75 6e 64 2c 20 61 4b 20 69 73 20 60 6e 69 6c 60 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 und,.aK.is.`nil`................
7aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 61 73 73 6f 63 .....................Uses.`assoc
7abc0 60 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 28 26 68 61 73 68 20 6b `.to.fetch.values.......(&hash.k
7abe0 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 ey0.a0.....keyN.aN).-.bind.value
7ac00 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 .mapped.by.keyK.in.the..........
7ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 73 6f 75 72 63 65 .........................`source
7ac40 60 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 `.hash.table.to.aK...If.the.....
7ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 ..............................va
7ac80 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 60 6e 69 6c 60 2e 0a 20 lue.is.not.found,.aK.is.`nil`...
7aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7acc0 20 55 73 65 73 20 60 67 65 74 68 61 73 68 60 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e .Uses.`gethash`.to.fetch.values.
7ace0 0a 0a 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 ..Further,.special.keyword.&keys
7ad00 20 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 70 .supports."inline".matching.of.p
7ad20 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 6c list-like.key-value.pairs,.simil
7ad40 61 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 60 63 6c 2d 64 65 66 arly.to.&keys.keyword.of.`cl-def
7ad60 75 6e 60 2e 0a 0a 20 20 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 un`.......(a1.a2.....aN.&keys.ke
7ad80 79 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 60 y1.b1.....keyN.bK)..This.binds.`
7ada0 6e 60 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e n`.values.from.the.list.to.a1...
7adc0 2e 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 0a 74 68 65 20 63 64 72 20 61 73 ..aN,.then.interprets.the.cdr.as
7ade0 20 61 20 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 .a.plist.(see.key/value.matching
7ae00 20 61 62 6f 76 65 29 2e 0a 0a 60 61 60 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e .above)...`a`.shorthand.notation
7ae20 20 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 .for.kv-destructuring.exists.whi
7ae40 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e ch.allows.the.patterns.be.option
7ae60 61 6c 6c 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 ally.left.out.and.derived.from.t
7ae80 68 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 he.key.name.in.the.following.fas
7aea0 68 69 6f 6e 3a 0a 0a 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 hion:..-.a.key.:foo.is.converted
7aec0 20 69 6e 74 6f 20 60 66 6f 6f 60 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 27 62 61 .into.`foo`.pattern,.-.a.key.'ba
7aee0 72 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 72 60 20 70 61 74 74 65 72 r.is.converted.into.`bar`.patter
7af00 6e 2c 0a 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e n,.-.a.key."baz".is.converted.in
7af20 74 6f 20 60 62 61 7a 60 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 to.`baz`.pattern...That.is,.the.
7af40 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f entire.value.under.the.key.is.bo
7af60 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 und.to.the.derived.variable.with
7af80 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a out.any.further.destructuring...
7afa0 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 This.is.possible.only.when.the.f
7afc0 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 orm.following.the.key.is.not.a.v
7afe0 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c alid.pattern.(i.e..not.a.symbol,
7b000 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 .a.cons.cell.or.a.vector)..Other
7b020 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 wise.the.matching.proceeds.as.us
7b040 75 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 ual.and.in.case.of.an.invalid.sp
7b060 65 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 ec.fails.with.an.error...Thus.th
7b080 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c e.patterns.are.normalized.as.fol
7b0a0 6c 6f 77 73 3a 0a 0a 20 20 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 lows:.......;;.derive.all.the.mi
7b0c0 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f ssing.patterns......(&plist.:foo
7b0e0 20 27 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f .'bar."baz").=>.(&plist.:foo.foo
7b100 20 27 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 0a 0a 20 20 20 20 20 3b 3b 20 77 65 .'bar.bar."baz".baz).......;;.we
7b120 20 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 .can.specify.some.but.not.others
7b140 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 ......(&plist.:foo.'bar.explicit
7b160 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 65 -bar).=>.(&plist.:foo.foo.'bar.e
7b180 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 xplicit-bar).......;;.nothing.ha
7b1a0 70 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 20 20 28 ppens,.we.store.:foo.in.x......(
7b1c0 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 &plist.:foo.x).=>.(&plist.:foo.x
7b1e0 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d ).......;;.nothing.happens,.we.m
7b200 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 atch.recursively......(&plist.:f
7b220 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 oo.(a.b.c)).=>.(&plist.:foo.(a.b
7b240 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 .c))..You.can.name.the.source.us
7b260 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 60 73 79 6d 62 6f 6c 60 20 26 61 73 20 60 70 61 74 ing.the.syntax.`symbol`.&as.`pat
7b280 74 65 72 6e 60 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 tern`..This.syntax.works.with.li
7b2a0 73 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 sts.(proper.or.improper),.vector
7b2c0 73 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 20 20 28 6c s.and.all.types.of.maps.......(l
7b2e0 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e ist.&as.a.b.c).(list.1.2.3)..bin
7b300 64 73 20 60 61 60 20 74 6f 20 31 2c 20 60 62 60 20 74 6f 20 32 2c 20 60 63 60 20 74 6f 20 33 20 ds.`a`.to.1,.`b`.to.2,.`c`.to.3.
7b320 61 6e 64 20 60 6c 69 73 74 60 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c and.`list`.to.(1.2.3)...Similarl
7b340 79 3a 0a 0a 20 20 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 y:......(bounds.&as.beg...end).(
7b360 63 6f 6e 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 60 62 65 67 60 20 74 6f 20 31 2c 20 60 65 6e cons.1.2)..binds.`beg`.to.1,.`en
7b380 64 60 20 74 6f 20 32 20 61 6e 64 20 60 62 6f 75 6e 64 73 60 20 74 6f 20 28 31 20 2e 20 32 29 2e d`.to.2.and.`bounds`.to.(1...2).
7b3a0 0a 0a 20 20 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 ......(items.&as.first...rest).(
7b3c0 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 60 66 69 72 73 74 60 20 74 6f 20 31 2c list.1.2.3)..binds.`first`.to.1,
7b3e0 20 60 72 65 73 74 60 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 60 69 74 65 6d 73 60 20 74 6f 20 .`rest`.to.(2.3).and.`items`.to.
7b400 28 31 20 32 20 33 29 0a 0a 20 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 (1.2.3)......[vect.&as._.b.c].[1
7b420 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 60 62 60 20 74 6f 20 32 2c 20 60 63 60 20 74 6f 20 33 20 .2.3]..binds.`b`.to.2,.`c`.to.3.
7b440 61 6e 64 20 60 76 65 63 74 60 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 and.`vect`.to.[1.2.3].(_.avoids.
7b460 62 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 20 28 70 6c 69 73 74 20 26 binding.as.usual).......(plist.&
7b480 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 as.&plist.:b.b).(list.:a.1.:b.2.
7b4a0 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 60 62 60 20 74 6f 20 32 20 61 6e 64 20 60 70 6c 69 73 74 :c.3)..binds.`b`.to.2.and.`plist
7b4c0 60 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 6f 72 `.to.(:a.1.:b.2.:c.3)...Same.for
7b4e0 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 65 .&alist.and.&hash...This.is.espe
7b500 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 63 61 cially.useful.when.we.want.to.ca
7b520 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 6f pture.the.result.of.a.computatio
7b540 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 n.and.destructure.at.the.same.ti
7b560 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f 6e me...Consider.the.form.(function
7b580 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 -returning-complex-structure).re
7b5a0 74 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 69 turning.a.list.of.two.vectors.wi
7b5c0 74 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 th.two.items.each...We.want.to.c
7b5e0 61 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 61 apture.this.entire.result.and.pa
7b600 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 75 ss.it.to.another.computation,.bu
7b620 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 65 t.at.the.same.time.we.want.to.ge
7b640 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 20 76 65 63 74 t.the.second.item.from.each.vect
7b660 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 74 or...We.can.achieve.it.with.patt
7b680 65 72 6e 0a 0a 20 20 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d ern......(result.&as.[_.a].[_.b]
7b6a0 29 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 ).(function-returning-complex-st
7b6c0 72 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d ructure)..Note:.Clojure.programm
7b6e0 65 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 ers.may.know.this.feature.as.the
7b700 20 22 3a 61 73 0a 62 69 6e 64 69 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 .":as.binding"...The.difference.
7b720 69 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 is.that.we.put.the.&as.at.the.fr
7b740 6f 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 ont.because.we.need.to.support.i
7b760 6d 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c mproper.list.binding...```el.(-l
7b780 65 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 20 28 et.(([a.(b.c).d].[1.(2.3).4])).(
7b7a0 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 28 list.a.b.c.d)).;;.=>.(1.2.3.4).(
7b7c0 2d 6c 65 74 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 -let.[(a.b.c...d).(list.1.2.3.4.
7b7e0 35 20 36 29 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 5.6)].(list.a.b.c.d)).;;.=>.(1.2
7b800 20 33 20 28 34 20 35 20 36 29 29 0a 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 .3.(4.5.6)).(-let.[(&plist.:foo.
7b820 66 6f 6f 20 3a 62 61 72 20 62 61 72 29 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a 66 6f 6f 20 foo.:bar.bar).(list.:baz.3.:foo.
7b840 31 20 3a 71 75 78 20 34 20 3a 62 61 72 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 62 61 72 29 1.:qux.4.:bar.2)].(list.foo.bar)
7b860 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 65 74 2a 20 60 28 ).;;.=>.(1.2).```..####.-let*.`(
7b880 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 0a 42 69 6e 64 20 76 61 72 69 61 varlist.&rest.body)`..Bind.varia
7b8a0 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 76 61 72 6c 69 73 74 60 20 74 68 65 6e bles.according.to.`varlist`.then
7b8c0 20 65 76 61 6c 20 60 62 6f 64 79 60 2e 0a 0a 60 76 61 72 6c 69 73 74 60 20 69 73 20 61 20 6c 69 .eval.`body`...`varlist`.is.a.li
7b8e0 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 60 70 61 74 74 65 72 st.of.lists.of.the.form.(`patter
7b900 6e 60 20 60 73 6f 75 72 63 65 60 29 2e 20 20 45 61 63 68 0a 60 70 61 74 74 65 72 6e 60 20 69 73 n`.`source`)...Each.`pattern`.is
7b920 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 60 73 6f 75 72 63 65 60 20 73 74 .matched.against.the.`source`.st
7b940 72 75 63 74 75 72 61 6c 6c 79 2e 20 20 60 73 6f 75 72 63 65 60 20 69 73 0a 6f 6e 6c 79 20 65 76 ructurally...`source`.is.only.ev
7b960 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 60 70 61 74 74 65 72 6e 60 2e aluated.once.for.each.`pattern`.
7b980 0a 0a 45 61 63 68 20 60 73 6f 75 72 63 65 60 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 ..Each.`source`.can.refer.to.the
7b9a0 20 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 0a 60 .symbols.already.bound.by.this.`
7b9c0 76 61 72 6c 69 73 74 60 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 varlist`...This.is.useful.if.you
7b9e0 20 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 60 73 6f 75 72 63 65 60 0a 72 65 .want.to.destructure.`source`.re
7ba00 63 75 72 73 69 76 65 6c 79 20 62 75 74 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 cursively.but.also.want.to.name.
7ba20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 53 65 the.intermediate.structures...Se
7ba40 65 20 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f e.[`-let`](#-let-varlist-rest-bo
7ba60 64 79 29 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 dy).for.the.list.of.all.possible
7ba80 20 70 61 74 74 65 72 6e 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 .patterns...```el.(-let*.(((a...
7baa0 62 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 20 28 63 6f 6e 73 20 33 20 b).(cons.1.2)).((c...d).(cons.3.
7bac0 34 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 4))).(list.a.b.c.d)).;;.=>.(1.2.
7bae0 33 20 34 29 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 3.4).(-let*.(((a...b).(cons.1.(c
7bb00 6f 6e 73 20 32 20 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 ons.2.3))).((c...d).b)).(list.a.
7bb20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a 28 2d b.c.d)).;;.=>.(1.(2...3).2.3).(-
7bb40 6c 65 74 2a 20 28 28 28 26 61 6c 69 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 20 62 let*.(((&alist."foo".foo."bar".b
7bb60 61 72 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 20 22 ar).(list.(cons."foo".1).(cons."
7bb80 62 61 72 22 20 28 6c 69 73 74 20 27 61 20 27 62 20 27 63 29 29 29 29 20 28 28 61 20 62 20 63 29 bar".(list.'a.'b.'c)))).((a.b.c)
7bba0 20 62 61 72 29 29 20 28 6c 69 73 74 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 29 29 20 3b 3b 20 .bar)).(list.foo.a.b.c.bar)).;;.
7bbc0 3d 3e 20 28 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d =>.(1.a.b.c.(a.b.c)).```..####.-
7bbe0 6c 61 6d 62 64 61 20 60 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 60 lambda.`(match-form.&rest.body)`
7bc00 0a 0a 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 ..Return.a.lambda.which.destruct
7bc20 75 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 60 6d 61 74 63 68 2d 66 6f 72 6d 60 20 61 ures.its.input.as.`match-form`.a
7bc40 6e 64 20 65 78 65 63 75 74 65 73 20 60 62 6f 64 79 60 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 nd.executes.`body`...Note.that.y
7bc60 6f 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 60 6d 61 74 63 68 2d 66 6f ou.have.to.enclose.the.`match-fo
7bc80 72 6d 60 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 rm`.in.a.pair.of.parens,.such.th
7bca0 61 74 3a 0a 0a 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 20 20 at:......(-lambda.(x).body).....
7bcc0 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 (-lambda.(x.y....).body)..has.th
7bce0 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 60 6c 61 6d 62 64 61 60 2e 20 20 e.usual.semantics.of.`lambda`...
7bd00 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 Furthermore,.these.get.translate
7bd20 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 60 6c 61 6d 62 64 61 60 2c 20 73 6f 20 74 68 65 72 65 d.into.normal.`lambda`,.so.there
7bd40 20 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 .is.no.performance.penalty...See
7bd60 20 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 .[`-let`](#-let-varlist-rest-bod
7bd80 79 29 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 y).for.a.description.of.the.dest
7bda0 72 75 63 74 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 ructuring.mechanism...```el.(-ma
7bdc0 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 29 20 27 28 28 31 p.(-lambda.((x.y)).(+.x.y)).'((1
7bde0 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 20 31 31 29 .2).(3.4).(5.6))).;;.=>.(3.7.11)
7be00 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 .(-map.(-lambda.([x.y]).(+.x.y))
7be20 20 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 20 3b 3b 20 3d 3e 20 28 33 20 .'([1.2].[3.4].[5.6])).;;.=>.(3.
7be40 37 20 31 31 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 7.11).(funcall.(-lambda.((_...a)
7be60 20 28 5f 20 2e 20 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 62 29 29 20 27 28 31 20 32 20 33 .(_...b)).(-concat.a.b)).'(1.2.3
7be80 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 20 36 29 0a 60 60 60 0a ).'(4.5.6)).;;.=>.(2.3.5.6).```.
7bea0 0a 23 23 23 23 20 2d 73 65 74 71 20 60 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e .####.-setq.`([match-form.val]..
7bec0 2e 2e 29 60 0a 0a 42 69 6e 64 20 65 61 63 68 20 60 6d 61 74 63 68 2d 66 6f 72 6d 60 20 74 6f 20 ..)`..Bind.each.`match-form`.to.
7bee0 74 68 65 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 60 76 61 6c 60 2e 0a 0a 60 6d 61 74 63 68 2d the.value.of.its.`val`...`match-
7bf00 66 6f 72 6d 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f form`.destructuring.is.done.acco
7bf20 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 5b 60 2d 6c 65 74 60 5d 28 23 rding.to.the.rules.of.[`-let`](#
7bf40 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 54 68 69 73 20 6d -let-varlist-rest-body)...This.m
7bf60 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 acro.allows.you.to.bind.multiple
7bf80 20 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 .variables.by.destructuring.the.
7bfa0 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 28 2d 73 65 value,.so.for.example:......(-se
7bfc0 74 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 tq.(a.b).x............(&plist.:c
7bfe0 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 .c).plist)..expands.roughly.spea
7c000 6b 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 20 20 king.to.the.following.code......
7c020 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 62 20 28 63 61 64 (setq.a.(car.x)...........b.(cad
7c040 72 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 r.x)...........c.(plist-get.plis
7c060 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 t.:c))..Care.is.taken.to.only.ev
7c080 61 6c 75 61 74 65 20 65 61 63 68 20 60 76 61 6c 60 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 aluate.each.`val`.once.so.that.i
7c0a0 6e 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 n.case.of.multiple.assignments.i
7c0c0 74 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 t.does.not.cause.unexpected.side
7c0e0 20 65 66 66 65 63 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 .effects...```el.(let.(a).(-setq
7c100 20 61 20 31 29 20 61 29 20 3b 3b 20 3d 3e 20 31 0a 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 .a.1).a).;;.=>.1.(let.(a.b).(-se
7c120 74 71 20 28 61 20 62 29 20 28 6c 69 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 61 20 62 29 29 tq.(a.b).(list.1.2)).(list.a.b))
7c140 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 .;;.=>.(1.2).(let.(c).(-setq.(&p
7c160 6c 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 29 20 3b 3b 20 list.:c.c).(list.:c."c")).c).;;.
7c180 3d 3e 20 22 63 22 0a 60 60 60 0a 0a 23 23 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 0a 46 75 6e =>."c".```..##.Side.effects..Fun
7c1a0 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 ctions.iterating.over.lists.for.
7c1c0 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 23 23 23 23 20 2d 65 61 63 68 20 60 28 side.effect.only...####.-each.`(
7c1e0 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 list.fn)`..Call.`fn`.on.each.ele
7c200 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 3b 20 74 68 ment.of.`list`..Return.`nil`;.th
7c220 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 is.function.is.intended.for.side
7c240 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 .effects...Its.anaphoric.counter
7c260 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 60 2e 0a 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f part.is.`--each`...For.access.to
7c280 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 .the.current.element's.index.in.
7c2a0 60 6c 69 73 74 60 2c 20 73 65 65 0a 5b 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d `list`,.see.[`-each-indexed`](#-
7c2c0 65 61 63 68 2d 69 6e 64 65 78 65 64 2d 6c 69 73 74 2d 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 6c each-indexed-list-fn)...```el.(l
7c2e0 65 74 20 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 et.(l).(-each.'(1.2.3).(lambda.(
7c300 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 x).(push.x.l))).l).;;.=>.(3.2.1)
7c320 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 .(let.(l).(--each.'(1.2.3).(push
7c340 20 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 0a 28 2d 65 61 63 68 20 .it.l)).l).;;.=>.(3.2.1).(-each.
7c360 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 '(1.2.3).#'identity).;;.=>.nil.`
7c380 60 60 0a 0a 23 23 23 23 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 60 28 6c 69 73 74 20 70 72 65 64 ``..####.-each-while.`(list.pred
7c3a0 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 60 69 74 65 6d 60 20 .fn)`..Call.`fn`.on.each.`item`.
7c3c0 69 6e 20 60 6c 69 73 74 60 2c 20 77 68 69 6c 65 20 28 60 70 72 65 64 60 20 60 69 74 65 6d 60 29 in.`list`,.while.(`pred`.`item`)
7c3e0 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 4f 6e 63 65 20 61 6e 20 60 69 74 65 6d 60 20 69 73 .is.non-`nil`..Once.an.`item`.is
7c400 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e .reached.for.which.`pred`.return
7c420 73 20 60 6e 69 6c 60 2c 20 60 66 6e 60 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 s.`nil`,.`fn`.is.no.longer.calle
7c440 64 2e 20 20 52 65 74 75 72 6e 20 60 6e 69 6c 60 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 d...Return.`nil`;.this.function.
7c460 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 is.intended.for.side.effects...I
7c480 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 ts.anaphoric.counterpart.is.`--e
7c4a0 61 63 68 2d 77 68 69 6c 65 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 ach-while`...```el.(let.(l).(-ea
7c4c0 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d ch-while.'(2.4.5.6).#'even?.(lam
7c4e0 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 34 bda.(x).(push.x.l))).l).;;.=>.(4
7c500 20 32 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 32 .2).(let.(l).(--each-while.'(1.2
7c520 20 33 20 34 29 20 28 3c 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 20 3b .3.4).(<.it.3).(push.it.l)).l).;
7c540 3b 20 3d 3e 20 28 32 20 31 29 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d ;.=>.(2.1).(let.((s.0)).(--each-
7c560 77 68 69 6c 65 20 27 28 31 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 while.'(1.3.4.5).(<.it.5).(setq.
7c580 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 38 0a 60 60 60 0a 0a 23 23 23 s.(+.s.it))).s).;;.=>.8.```..###
7c5a0 23 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c #.-each-indexed.`(list.fn)`..Cal
7c5c0 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 l.`fn`.on.each.index.and.element
7c5e0 20 6f 66 20 60 6c 69 73 74 60 2e 0a 46 6f 72 20 65 61 63 68 20 60 69 74 65 6d 60 20 61 74 20 60 .of.`list`..For.each.`item`.at.`
7c600 69 6e 64 65 78 60 20 69 6e 20 60 6c 69 73 74 60 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 index`.in.`list`,.call.(funcall.
7c620 60 66 6e 60 20 60 69 6e 64 65 78 60 20 60 69 74 65 6d 60 29 2e 0a 52 65 74 75 72 6e 20 60 6e 69 `fn`.`index`.`item`)..Return.`ni
7c640 6c 60 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f l`;.this.function.is.intended.fo
7c660 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 r.side.effects...See.also:.[`-ma
7c680 70 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 6d 61 70 2d 69 6e 64 65 78 65 64 2d 66 6e 2d 6c 69 73 p-indexed`](#-map-indexed-fn-lis
7c6a0 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 t)...```el.(let.(l).(-each-index
7c6c0 65 64 20 27 28 61 20 62 20 63 29 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 70 75 73 68 20 ed.'(a.b.c).(lambda.(i.x).(push.
7c6e0 28 6c 69 73 74 20 78 20 69 29 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 28 63 20 32 29 20 (list.x.i).l))).l).;;.=>.((c.2).
7c700 28 62 20 31 29 20 28 61 20 30 29 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e (b.1).(a.0)).(let.(l).(--each-in
7c720 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 69 74 20 69 74 dexed.'(a.b.c).(push.(list.it.it
7c740 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 28 63 20 32 29 20 28 62 20 31 -index).l)).l).;;.=>.((c.2).(b.1
7c760 29 20 28 61 20 30 29 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 ).(a.0)).(let.(l).(--each-indexe
7c780 64 20 28 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 d.().(push.it.l)).l).;;.=>.().``
7c7a0 60 0a 0a 23 23 23 23 20 2d 65 61 63 68 2d 72 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c `..####.-each-r.`(list.fn)`..Cal
7c7c0 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 l.`fn`.on.each.element.of.`list`
7c7e0 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 .in.reversed.order..Return.`nil`
7c800 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 ;.this.function.is.intended.for.
7c820 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 side.effects...Its.anaphoric.cou
7c840 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 72 60 2e 0a 0a 60 60 60 65 6c 0a 28 nterpart.is.`--each-r`...```el.(
7c860 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 let.(l).(-each-r.'(1.2.3).(lambd
7c880 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 31 20 32 a.(x).(push.x.l))).l).;;.=>.(1.2
7c8a0 20 33 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 .3).(let.(l).(--each-r.'(1.2.3).
7c8c0 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d (push.it.l)).l).;;.=>.(1.2.3).(-
7c8e0 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 20 3b 3b 20 3d each-r.'(1.2.3).#'identity).;;.=
7c900 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 60 28 >.nil.```..####.-each-r-while.`(
7c920 6c 69 73 74 20 70 72 65 64 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 list.pred.fn)`..Call.`fn`.on.eac
7c940 68 20 60 69 74 65 6d 60 20 69 6e 20 72 65 76 65 72 73 65 64 20 60 6c 69 73 74 60 2c 20 77 68 69 h.`item`.in.reversed.`list`,.whi
7c960 6c 65 20 28 60 70 72 65 64 60 20 60 69 74 65 6d 60 29 20 69 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e le.(`pred`.`item`).is.non-`nil`.
7c980 0a 4f 6e 63 65 20 61 6e 20 60 69 74 65 6d 60 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 .Once.an.`item`.is.reached.for.w
7c9a0 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 60 6e 69 6c 60 2c 20 60 66 6e 60 20 hich.`pred`.returns.`nil`,.`fn`.
7c9c0 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 60 6e 69 is.no.longer.called...Return.`ni
7c9e0 6c 60 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f l`;.this.function.is.intended.fo
7ca00 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 r.side.effects...Its.anaphoric.c
7ca20 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a ounterpart.is.`--each-r-while`..
7ca40 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 .```el.(let.(l).(-each-r-while.'
7ca60 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 (2.4.5.6).#'even?.(lambda.(x).(p
7ca80 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 36 29 0a 28 6c 65 74 20 28 6c 29 ush.x.l))).l).;;.=>.(6).(let.(l)
7caa0 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3e 3d 20 .(--each-r-while.'(1.2.3.4).(>=.
7cac0 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 34 it.3).(push.it.l)).l).;;.=>.(3.4
7cae0 29 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 ).(let.((s.0)).(--each-r-while.'
7cb00 28 31 20 32 20 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 (1.2.3.5).(>.it.1).(setq.s.(+.s.
7cb20 69 74 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 6f 74 it))).s).;;.=>.10.```..####.-dot
7cb40 69 6d 65 73 20 60 28 6e 75 6d 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 60 6e 75 6d 60 imes.`(num.fn)`..Call.`fn`.`num`
7cb60 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 .times,.presumably.for.side.effe
7cb80 63 74 73 2e 0a 60 66 6e 60 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c cts..`fn`.is.called.with.a.singl
7cba0 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 e.argument.on.successive.integer
7cbc0 73 0a 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 s.running.from.0,.inclusive,.to.
7cbe0 60 6e 75 6d 60 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 60 66 6e 60 20 69 73 20 6e 6f 74 20 63 `num`,.exclusive...`fn`.is.not.c
7cc00 61 6c 6c 65 64 0a 69 66 20 60 6e 75 6d 60 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a alled.if.`num`.is.less.than.1...
7cc20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 This.function's.anaphoric.counte
7cc40 72 70 61 72 74 20 69 73 20 60 2d 2d 64 6f 74 69 6d 65 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 rpart.is.`--dotimes`...```el.(le
7cc60 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 t.(s).(-dotimes.3.(lambda.(n).(p
7cc80 75 73 68 20 6e 20 73 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 28 32 20 31 20 30 29 0a 28 6c 65 74 ush.n.s))).s).;;.=>.(2.1.0).(let
7cca0 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 .(s).(-dotimes.0.(lambda.(n).(pu
7ccc0 73 68 20 6e 20 73 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 6c 65 74 20 28 73 29 20 28 sh.n.s))).s).;;.=>.().(let.(s).(
7cce0 2d 2d 64 6f 74 69 6d 65 73 20 35 20 28 70 75 73 68 20 69 74 20 73 29 29 20 73 29 20 3b 3b 20 3d --dotimes.5.(push.it.s)).s).;;.=
7cd00 3e 20 28 34 20 33 20 32 20 31 20 30 29 0a 60 60 60 0a 0a 23 23 20 44 65 73 74 72 75 63 74 69 76 >.(4.3.2.1.0).```..##.Destructiv
7cd20 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 e.operations..Macros.that.modify
7cd40 20 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 23 23 23 23 20 .variables.holding.lists...####.
7cd60 21 63 6f 6e 73 20 60 28 63 61 72 20 63 64 72 29 60 0a 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 !cons.`(car.cdr)`..Destructive:.
7cd80 53 65 74 20 60 63 64 72 60 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 60 63 61 72 60 20 61 Set.`cdr`.to.the.cons.of.`car`.a
7cda0 6e 64 20 60 63 64 72 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 nd.`cdr`...```el.(let.(l).(!cons
7cdc0 20 35 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 35 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 29 .5.l).l).;;.=>.(5).(let.((l.'(3)
7cde0 29 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 35 20 33 29 0a 60 60 )).(!cons.5.l).l).;;.=>.(5.3).``
7ce00 60 0a 0a 23 23 23 23 20 21 63 64 72 20 60 28 6c 69 73 74 29 60 0a 0a 44 65 73 74 72 75 63 74 69 `..####.!cdr.`(list)`..Destructi
7ce20 76 65 3a 20 53 65 74 20 60 6c 69 73 74 60 20 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 60 6c 69 ve:.Set.`list`.to.the.cdr.of.`li
7ce40 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 64 st`...```el.(let.((l.'(3))).(!cd
7ce60 72 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 35 29 r.l).l).;;.=>.().(let.((l.'(3.5)
7ce80 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 35 29 0a 60 60 60 0a 0a 23 23 )).(!cdr.l).l).;;.=>.(5).```..##
7cea0 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 .Function.combinators..Functions
7cec0 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 65 20 6f 74 68 .that.manipulate.and.compose.oth
7cee0 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 61 6c 20 60 28 66 er.functions...####.-partial.`(f
7cf00 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 un.&rest.args)`..Return.a.functi
7cf20 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e on.that.is.a.partial.application
7cf40 20 6f 66 20 60 66 75 6e 60 20 74 6f 20 60 61 72 67 73 60 2e 0a 60 61 72 67 73 60 20 69 73 20 61 .of.`fun`.to.`args`..`args`.is.a
7cf60 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 .list.of.the.first.`n`.arguments
7cf80 20 74 6f 20 70 61 73 73 20 74 6f 20 60 66 75 6e 60 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 .to.pass.to.`fun`..The.result.is
7cfa0 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 .a.new.function.which.does.the.s
7cfc0 61 6d 65 20 61 73 20 60 66 75 6e 60 2c 20 65 78 63 65 70 74 20 74 68 61 74 0a 74 68 65 20 66 69 ame.as.`fun`,.except.that.the.fi
7cfe0 72 73 74 20 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 rst.`n`.arguments.are.fixed.at.t
7d000 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 he.values.with.which.this.functi
7d020 6f 6e 0a 77 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 on.was.called...```el.(funcall.(
7d040 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 29 29 20 3b 3b 20 3d 3e 20 35 0a 28 66 75 6e 63 61 6c -partial.#'+.5)).;;.=>.5.(funcal
7d060 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 33 29 20 3b 3b 20 3d 3e 20 32 0a 28 66 l.(-partial.#'-.5).3).;;.=>.2.(f
7d080 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 20 32 29 20 33 29 20 3b 3b 20 uncall.(-partial.#'+.5.2).3).;;.
7d0a0 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 70 61 72 74 69 61 6c 20 60 28 66 6e 20 26 =>.10.```..####.-rpartial.`(fn.&
7d0c0 72 65 73 74 20 61 72 67 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 rest.args)`..Return.a.function.t
7d0e0 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 hat.is.a.partial.application.of.
7d100 60 66 6e 60 20 74 6f 20 60 61 72 67 73 60 2e 0a 60 61 72 67 73 60 20 69 73 20 61 20 6c 69 73 74 `fn`.to.`args`..`args`.is.a.list
7d120 20 6f 66 20 74 68 65 20 6c 61 73 74 20 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 .of.the.last.`n`.arguments.to.pa
7d140 73 73 20 74 6f 20 60 66 6e 60 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 6e 65 77 ss.to.`fn`...The.result.is.a.new
7d160 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 .function.which.does.the.same.as
7d180 20 60 66 6e 60 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c 61 73 74 0a 60 6e 60 20 .`fn`,.except.that.the.last.`n`.
7d1a0 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 arguments.are.fixed.at.the.value
7d1c0 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 63 s.with.which.this.function.was.c
7d1e0 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 5b 60 2d 70 61 72 74 69 61 6c 60 alled...This.is.like.[`-partial`
7d200 5d 28 23 2d 70 61 72 74 69 61 6c 2d 66 75 6e 2d 72 65 73 74 2d 61 72 67 73 29 2c 20 65 78 63 65 ](#-partial-fun-rest-args),.exce
7d220 70 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 0a 73 74 61 72 74 pt.the.arguments.are.fixed.start
7d240 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 ing.from.the.right.rather.than.t
7d260 68 65 20 6c 65 66 74 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 he.left...```el.(funcall.(-rpart
7d280 69 61 6c 20 23 27 2d 20 35 29 29 20 3b 3b 20 3d 3e 20 2d 35 0a 28 66 75 6e 63 61 6c 6c 20 28 2d ial.#'-.5)).;;.=>.-5.(funcall.(-
7d2a0 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 20 3b 3b 20 3d 3e 20 33 0a 28 66 75 6e 63 rpartial.#'-.5).8).;;.=>.3.(func
7d2c0 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 20 32 29 20 31 30 29 20 3b 3b 20 3d all.(-rpartial.#'-.5.2).10).;;.=
7d2e0 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6a 75 78 74 20 60 28 26 72 65 73 74 20 66 6e 73 29 >.3.```..####.-juxt.`(&rest.fns)
7d300 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 74 68 65 `..Return.a.function.that.is.the
7d320 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 60 66 6e 73 60 2e 0a 54 68 65 20 72 65 74 .juxtaposition.of.`fns`..The.ret
7d340 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 urned.function.takes.a.variable.
7d360 6e 75 6d 62 65 72 20 6f 66 20 60 61 72 67 73 60 2c 20 61 70 70 6c 69 65 73 0a 65 61 63 68 20 6f number.of.`args`,.applies.each.o
7d380 66 20 60 66 6e 73 60 20 69 6e 20 74 75 72 6e 20 74 6f 20 60 61 72 67 73 60 2c 20 61 6e 64 20 72 f.`fns`.in.turn.to.`args`,.and.r
7d3a0 65 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 60 60 60 eturns.the.list.of.results...```
7d3c0 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 el.(funcall.(-juxt).1.2).;;.=>.(
7d3e0 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 23 27 2a 20 23 27 ).(funcall.(-juxt.#'+.#'-.#'*.#'
7d400 2f 29 20 37 20 35 29 20 3b 3b 20 3d 3e 20 28 31 32 20 32 20 33 35 20 31 29 0a 28 6d 61 70 63 61 /).7.5).;;.=>.(12.2.35.1).(mapca
7d420 72 20 28 2d 6a 75 78 74 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b r.(-juxt.#'number-to-string.#'1+
7d440 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 28 22 31 22 20 32 29 20 28 22 32 22 20 33 29 ).'(1.2)).;;.=>.(("1".2).("2".3)
7d460 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 70 6f 73 65 20 60 28 26 72 65 73 74 20 66 6e 73 ).```..####.-compose.`(&rest.fns
7d480 29 60 0a 0a 43 6f 6d 70 6f 73 65 20 60 66 6e 73 60 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 )`..Compose.`fns`.into.a.single.
7d4a0 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 66 75 6e composite.function..Return.a.fun
7d4c0 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 ction.that.takes.a.variable.numb
7d4e0 65 72 20 6f 66 20 60 61 72 67 73 60 2c 20 61 70 70 6c 69 65 73 0a 74 68 65 20 6c 61 73 74 20 66 er.of.`args`,.applies.the.last.f
7d500 75 6e 63 74 69 6f 6e 20 69 6e 20 60 66 6e 73 60 20 74 6f 20 60 61 72 67 73 60 2c 20 61 6e 64 20 unction.in.`fns`.to.`args`,.and.
7d520 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 returns.the.result.of.calling.ea
7d540 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 ch.remaining.function.on.the.res
7d560 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 ult.of.the.previous.function,.ri
7d580 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f 20 60 66 6e 73 60 20 61 72 65 20 67 69 ght-to-left...If.no.`fns`.are.gi
7d5a0 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 0a 60 69 64 65 6e 74 69 74 79 ven,.return.a.variadic.`identity
7d5c0 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f `.function...```el.(funcall.(-co
7d5e0 6d 70 6f 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 20 31 20 32 20 33 29 20 3b 3b 20 3d 3e mpose.#'-.#'1+.#'+).1.2.3).;;.=>
7d600 20 2d 37 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 65 6e 74 69 74 .-7.(funcall.(-compose.#'identit
7d620 79 20 23 27 31 2b 29 20 33 29 20 3b 3b 20 3d 3e 20 34 0a 28 6d 61 70 63 61 72 20 28 2d 63 6f 6d y.#'1+).3).;;.=>.4.(mapcar.(-com
7d640 70 6f 73 65 20 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 70 29 20 27 28 6e 69 6c 20 22 22 29 29 pose.#'not.#'stringp).'(nil.""))
7d660 20 3b 3b 20 3d 3e 20 28 74 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 70 70 6c 69 66 .;;.=>.(t.nil).```..####.-applif
7d680 79 20 60 28 66 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 y.`(fn)`..Return.a.function.that
7d6a0 20 61 70 70 6c 69 65 73 20 60 66 6e 60 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f .applies.`fn`.to.a.single.list.o
7d6c0 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f f.args..This.changes.the.arity.o
7d6e0 66 20 60 66 6e 60 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 60 6e 60 20 64 69 73 74 69 6e 63 74 20 f.`fn`.from.taking.`n`.distinct.
7d700 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 20 31 20 61 72 67 75 6d 65 6e 74 20 77 arguments.to.taking.1.argument.w
7d720 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 2e hich.is.a.list.of.`n`.arguments.
7d740 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 ..```el.(funcall.(-applify.#'+).
7d760 6e 69 6c 29 20 3b 3b 20 3d 3e 20 30 0a 28 6d 61 70 63 61 72 20 28 2d 61 70 70 6c 69 66 79 20 23 nil).;;.=>.0.(mapcar.(-applify.#
7d780 27 2b 29 20 27 28 28 31 20 31 20 31 29 20 28 31 20 32 20 33 29 20 28 35 20 35 20 35 29 29 29 20 '+).'((1.1.1).(1.2.3).(5.5.5))).
7d7a0 3b 3b 20 3d 3e 20 28 33 20 36 20 31 35 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 ;;.=>.(3.6.15).(funcall.(-applif
7d7c0 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 y.#'<).'(3.6)).;;.=>.t.```..####
7d7e0 20 2d 6f 6e 20 60 28 6f 70 20 74 72 61 6e 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 .-on.`(op.trans)`..Return.a.func
7d800 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 60 74 72 61 6e 73 60 20 6f 6e 20 65 61 63 68 20 tion.that.calls.`trans`.on.each.
7d820 61 72 67 20 61 6e 64 20 60 6f 70 60 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 arg.and.`op`.on.the.results..The
7d840 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 .returned.function.takes.a.varia
7d860 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 ble.number.of.arguments,.calls.t
7d880 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 74 72 61 6e 73 60 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 he.function.`trans`.on.each.one.
7d8a0 69 6e 20 74 75 72 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 61 73 73 65 73 20 74 68 6f 73 65 0a 72 in.turn,.and.then.passes.those.r
7d8c0 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 esults.as.the.list.of.arguments.
7d8e0 74 6f 20 60 6f 70 60 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 2e 0a 0a 46 6f 72 to.`op`,.in.the.same.order...For
7d900 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 72 73 20 6f 66 .example,.the.following.pairs.of
7d920 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c .expressions.are.morally.equival
7d940 65 6e 74 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b ent:......(funcall.(-on.#'+.#'1+
7d960 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 ).1.2.3).=.(+.(1+.1).(1+.2).(1+.
7d980 33 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 29 3)).....(funcall.(-on.#'+.#'1+))
7d9a0 20 20 20 20 20 20 20 3d 20 28 2b 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 72 74 20 28 2d 6f 6e 20 .......=.(+)..```el.(-sort.(-on.
7d9c0 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 31 29 20 28 31 20 32 #'<.#'length).'((1.2.3).(1).(1.2
7d9e0 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 29 0a 28 66 ))).;;.=>.((1).(1.2).(1.2.3)).(f
7da00 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 uncall.(-on.#'min.#'string-to-nu
7da20 6d 62 65 72 29 20 22 32 32 22 20 22 32 22 20 22 31 22 20 22 31 32 22 29 20 3b 3b 20 3d 3e 20 31 mber)."22"."2"."1"."12").;;.=>.1
7da40 0a 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 .(-min-by.(-on.#'>.#'length).'((
7da60 31 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 34 29 0a 60 60 60 1.2.3).(4).(1.2))).;;.=>.(4).```
7da80 0a 0a 23 23 23 23 20 2d 66 6c 69 70 20 60 28 66 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 ..####.-flip.`(fn)`..Return.a.fu
7daa0 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 60 66 6e 60 20 77 69 74 68 20 69 74 73 20 nction.that.calls.`fn`.with.its.
7dac0 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 arguments.reversed..The.returned
7dae0 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 .function.takes.the.same.number.
7db00 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 60 66 6e 60 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 of.arguments.as.`fn`...For.examp
7db20 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 78 70 72 65 73 73 69 6f 6e le,.the.following.two.expression
7db40 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 28 s.are.morally.equivalent:......(
7db60 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 31 20 32 29 20 3d 20 28 2d 20 32 20 funcall.(-flip.#'-).1.2).=.(-.2.
7db80 31 29 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 60 5d 28 23 1)..See.also:.[`-rotate-args`](#
7dba0 2d 72 6f 74 61 74 65 2d 61 72 67 73 2d 6e 2d 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 72 -rotate-args-n-fn)...```el.(-sor
7dbc0 74 20 28 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 t.(-flip.#'<).'(4.3.6.1)).;;.=>.
7dbe0 28 36 20 34 20 33 20 31 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 (6.4.3.1).(funcall.(-flip.#'-).3
7dc00 20 32 20 31 20 31 30 29 20 3b 3b 20 3d 3e 20 34 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 .2.1.10).;;.=>.4.(funcall.(-flip
7dc20 20 23 27 31 2b 29 20 31 29 20 3b 3b 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 6f 74 .#'1+).1).;;.=>.2.```..####.-rot
7dc40 61 74 65 2d 61 72 67 73 20 60 28 6e 20 66 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 ate-args.`(n.fn)`..Return.a.func
7dc60 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 60 66 6e 60 20 77 69 74 68 20 61 72 67 73 20 72 tion.that.calls.`fn`.with.args.r
7dc80 6f 74 61 74 65 64 20 60 6e 60 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 0a otated.`n`.places.to.the.right..
7dca0 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 The.returned.function.takes.the.
7dcc0 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 60 66 6e 60 same.number.of.arguments.as.`fn`
7dce0 2c 0a 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 ,.rotates.the.list.of.arguments.
7dd00 60 6e 60 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 `n`.places.to.the.right.(left.if
7dd20 20 60 6e 60 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 5b 60 2d 72 .`n`.is.negative).just.like.[`-r
7dd40 6f 74 61 74 65 60 5d 28 23 2d 72 6f 74 61 74 65 2d 6e 2d 6c 69 73 74 29 2c 20 61 6e 64 20 61 70 otate`](#-rotate-n-list),.and.ap
7dd60 70 6c 69 65 73 20 60 66 6e 60 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 53 65 65 20 61 plies.`fn`.to.the.result...See.a
7dd80 6c 73 6f 3a 20 5b 60 2d 66 6c 69 70 60 5d 28 23 2d 66 6c 69 70 2d 66 6e 29 2e 0a 0a 60 60 60 65 lso:.[`-flip`](#-flip-fn)...```e
7dda0 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 2d 31 20 23 27 6c 69 l.(funcall.(-rotate-args.-1.#'li
7ddc0 73 74 29 20 31 20 32 20 33 20 34 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 34 20 31 29 0a 28 66 75 st).1.2.3.4).;;.=>.(2.3.4.1).(fu
7dde0 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 31 20 23 27 2d 29 20 31 20 31 30 20 ncall.(-rotate-args.1.#'-).1.10.
7de00 31 30 30 29 20 3b 3b 20 3d 3e 20 38 39 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 100).;;.=>.89.(funcall.(-rotate-
7de20 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 34 20 35 20 31 20 32 29 20 3b 3b 20 3d 3e 20 args.2.#'list).3.4.5.1.2).;;.=>.
7de40 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 73 74 20 60 28 63 (1.2.3.4.5).```..####.-const.`(c
7de60 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 )`..Return.a.function.that.retur
7de80 6e 73 20 60 63 60 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 ns.`c`.ignoring.any.additional.a
7dea0 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 rguments...In.types:.a.->.b.->.a
7dec0 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6e 73 74 20 32 29 20 31 20 33 20 ..```el.(funcall.(-const.2).1.3.
7dee0 22 66 6f 6f 22 29 20 3b 3b 20 3d 3e 20 32 0a 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 "foo").;;.=>.2.(mapcar.(-const.1
7df00 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 ).'("a"."b"."c"."d")).;;.=>.(1.1
7df20 20 31 20 31 29 0a 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 .1.1).(-sum.(mapcar.(-const.1).'
7df40 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 29 20 3b 3b 20 3d 3e 20 34 0a 60 60 60 0a ("a"."b"."c"."d"))).;;.=>.4.```.
7df60 0a 23 23 23 23 20 2d 63 75 74 20 60 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 60 0a 0a 54 61 6b .####.-cut.`(&rest.params)`..Tak
7df80 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 e.n-ary.function.and.n.arguments
7dfa0 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 .and.specialize.some.of.them..Ar
7dfc0 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 guments.denoted.by.<>.will.be.le
7dfe0 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 53 65 65 20 60 73 72 66 69 2d 32 36 60 ft.unspecialized...See.`srfi-26`
7e000 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 60 60 60 65 .for.detailed.description...```e
7e020 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 73 74 20 31 20 3c 3e 20 33 20 3c 3e 20 l.(funcall.(-cut.list.1.<>.3.<>.
7e040 35 29 20 32 20 34 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 6d 61 70 20 5).2.4).;;.=>.(1.2.3.4.5).(-map.
7e060 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 20 60 28 31 2b 20 31 2d 20 2c 28 6c 61 (-cut.funcall.<>.5).`(1+.1-.,(la
7e080 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 20 78 29 29 29 29 20 3b 3b 20 3d 3e 20 28 36 20 34 mbda.(x).(/.1.0.x)))).;;.=>.(6.4
7e0a0 20 30 2e 32 29 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c 3e 20 31 20 32 20 33 29 20 27 28 6c 69 .0.2).(-map.(-cut.<>.1.2.3).'(li
7e0c0 73 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 st.vector.string)).;;.=>.((1.2.3
7e0e0 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e ).[1.2.3]."\1\2\3").```..####.-n
7e100 6f 74 20 60 28 70 72 65 64 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 ot.`(pred)`..Return.a.predicate.
7e120 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 that.negates.the.result.of.`pred
7e140 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 `..The.returned.predicate.passes
7e160 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 70 72 65 64 60 2e 20 20 49 66 20 60 70 .its.arguments.to.`pred`...If.`p
7e180 72 65 64 60 0a 72 65 74 75 72 6e 73 20 60 6e 69 6c 60 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 red`.returns.`nil`,.the.result.i
7e1a0 73 20 6e 6f 6e 2d 60 6e 69 6c 60 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c s.non-`nil`;.otherwise.the.resul
7e1c0 74 20 69 73 20 60 6e 69 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 61 6e 64 66 6e 60 t.is.`nil`...See.also:.[`-andfn`
7e1e0 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 61 6e 64 20 5b 60 2d 6f 72 66 ](#-andfn-rest-preds).and.[`-orf
7e200 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 2e 0a 0a 60 60 60 65 6c 0a 28 n`](#-orfn-rest-preds)...```el.(
7e220 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 20 3b 3b funcall.(-not.#'numberp)."5").;;
7e240 20 3d 3e 20 74 0a 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 .=>.t.(-sort.(-not.#'<).'(5.2.1.
7e260 30 20 36 29 29 20 3b 3b 20 3d 3e 20 28 36 20 35 20 32 20 31 20 30 29 0a 28 2d 66 69 6c 74 65 72 0.6)).;;.=>.(6.5.2.1.0).(-filter
7e280 20 28 2d 6e 6f 74 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 20 32 20 33 .(-not.(-partial.#'<.4)).'(1.2.3
7e2a0 20 34 20 35 20 36 20 37 20 38 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 60 60 60 .4.5.6.7.8)).;;.=>.(1.2.3.4).```
7e2c0 0a 0a 23 23 23 23 20 2d 6f 72 66 6e 20 60 28 26 72 65 73 74 20 70 72 65 64 73 29 60 0a 0a 52 65 ..####.-orfn.`(&rest.preds)`..Re
7e2e0 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 turn.a.predicate.that.returns.th
7e300 65 20 66 69 72 73 74 20 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 e.first.non-`nil`.result.of.`pre
7e320 64 73 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 ds`..The.returned.predicate.take
7e340 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 s.a.variable.number.of.arguments
7e360 2c 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 ,.passes.them.to.each.predicate.
7e380 69 6e 20 60 70 72 65 64 73 60 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 in.`preds`.in.turn.until.one.of.
7e3a0 74 68 65 6d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2c 20 61 6e 64 20 72 65 74 75 them.returns.non-`nil`,.and.retu
7e3c0 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 77 69 74 68 6f 75 rns.that.non-`nil`.result.withou
7e3e0 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 60 70 72 65 64 73 60 2e t.calling.the.remaining.`preds`.
7e400 20 20 49 66 20 61 6c 6c 20 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 20 60 6e 69 6c 60 2c 20 6f ..If.all.`preds`.return.`nil`,.o
7e420 72 20 69 66 20 6e 6f 20 60 70 72 65 64 73 60 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 72 r.if.no.`preds`.are.given,.the.r
7e440 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 60 6e 69 6c 60 2e eturned.predicate.returns.`nil`.
7e460 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 61 6e 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 ..See.also:.[`-andfn`](#-andfn-r
7e480 65 73 74 2d 70 72 65 64 73 29 20 61 6e 64 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 est-preds).and.[`-not`](#-not-pr
7e4a0 65 64 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6f 72 66 6e 20 23 27 6e 61 ed)...```el.(-filter.(-orfn.#'na
7e4c0 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e 69 6c 20 22 61 22 20 2d 34 tnump.#'booleanp).'(1.nil."a".-4
7e4e0 20 62 20 63 20 74 29 29 20 3b 3b 20 3d 3e 20 28 31 20 6e 69 6c 20 74 29 0a 28 66 75 6e 63 61 6c .b.c.t)).;;.=>.(1.nil.t).(funcal
7e500 6c 20 28 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d l.(-orfn.#'symbolp.(-cut.string-
7e520 6d 61 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 20 3b 3b 20 3d 3e 20 31 0a match-p."x".<>))."axe").;;.=>.1.
7e540 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 20 3b 3b (funcall.(-orfn.#'=.#'+).1.1).;;
7e560 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 64 66 6e 20 60 28 26 72 65 73 74 20 70 .=>.t.```..####.-andfn.`(&rest.p
7e580 72 65 64 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 reds)`..Return.a.predicate.that.
7e5a0 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 20 69 66 20 61 6c 6c 20 60 70 72 65 64 73 60 returns.non-`nil`.if.all.`preds`
7e5c0 20 64 6f 20 73 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 60 .do.so..The.returned.predicate.`
7e5e0 70 60 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 p`.takes.a.variable.number.of.ar
7e600 67 75 6d 65 6e 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 guments.and.passes.them.to.each.
7e620 70 72 65 64 69 63 61 74 65 20 69 6e 20 60 70 72 65 64 73 60 20 69 6e 20 74 75 72 6e 2e 20 20 49 predicate.in.`preds`.in.turn...I
7e640 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 73 20 60 6e 69 f.any.one.of.`preds`.returns.`ni
7e660 6c 60 2c 20 60 70 60 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 60 6e 69 6c 60 20 77 69 74 68 6f l`,.`p`.also.returns.`nil`.witho
7e680 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 60 70 72 65 64 73 60 ut.calling.the.remaining.`preds`
7e6a0 2e 20 20 49 66 20 61 6c 6c 20 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 60 6e 69 ...If.all.`preds`.return.non-`ni
7e6c0 6c 60 2c 20 60 70 60 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 73 75 63 68 20 76 61 l`,.`p`.returns.the.last.such.va
7e6e0 6c 75 65 2e 20 20 49 66 20 6e 6f 20 60 70 72 65 64 73 60 20 61 72 65 20 67 69 76 65 6e 2c 20 60 lue...If.no.`preds`.are.given,.`
7e700 70 60 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 6c 60 2e 0a 0a 53 65 p`.always.returns.non-`nil`...Se
7e720 65 20 61 6c 73 6f 3a 20 5b 60 2d 6f 72 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 74 2d 70 72 e.also:.[`-orfn`](#-orfn-rest-pr
7e740 65 64 73 29 20 61 6e 64 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 2e 0a 0a eds).and.[`-not`](#-not-pred)...
7e760 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 ```el.(-filter.(-andfn.#'numberp
7e780 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 20 .(-cut.<.<>.5)).'(a.1.b.6.c.2)).
7e7a0 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 ;;.=>.(1.2).(mapcar.(-andfn.#'nu
7e7c0 6d 62 65 72 70 20 23 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 20 3b 3b 20 3d 3e 20 28 6e mberp.#'1+).'(a.1.b.6)).;;.=>.(n
7e7e0 69 6c 20 32 20 6e 69 6c 20 37 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d il.2.nil.7).(funcall.(-andfn.#'=
7e800 20 23 27 2b 29 20 31 20 31 29 20 3b 3b 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 74 .#'+).1.1).;;.=>.2.```..####.-it
7e820 65 72 61 74 65 66 6e 20 60 28 66 6e 20 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 eratefn.`(fn.n)`..Return.a.funct
7e840 69 6f 6e 20 60 66 6e 60 20 63 6f 6d 70 6f 73 65 64 20 60 6e 60 20 74 69 6d 65 73 20 77 69 74 68 ion.`fn`.composed.`n`.times.with
7e860 20 69 74 73 65 6c 66 2e 0a 0a 60 66 6e 60 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 .itself...`fn`.is.a.unary.functi
7e880 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 on...If.you.need.to.use.a.functi
7e8a0 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 61 72 69 74 79 2c 20 75 73 65 20 5b 60 2d 61 70 70 6c 69 on.of.higher.arity,.use.[`-appli
7e8c0 66 79 60 5d 28 23 2d 61 70 70 6c 69 66 79 2d 66 6e 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e fy`](#-applify-fn).first.to.turn
7e8e0 20 69 74 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 .it.into.a.unary.function...With
7e900 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 79 20 66 75 .n.=.0,.this.acts.as.identity.fu
7e920 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 nction...In.types:.(a.->.a).->.I
7e940 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 nt.->.a.->.a...This.function.sat
7e960 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 20 20 28 isfies.the.following.law:......(
7e980 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 funcall.(-iteratefn.fn.n).init).
7e9a0 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 =.(-last-item.(-iterate.fn.init.
7e9c0 28 31 2b 20 6e 29 29 29 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 (1+.n)))...```el.(funcall.(-iter
7e9e0 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 atefn.(lambda.(x).(*.x.x)).3).2)
7ea00 20 3b 3b 20 3d 3e 20 32 35 36 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 .;;.=>.256.(funcall.(-iteratefn.
7ea20 27 31 2b 20 33 29 20 31 29 20 3b 3b 20 3d 3e 20 34 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 '1+.3).1).;;.=>.4.(funcall.(-ite
7ea40 72 61 74 65 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 ratefn.'cdr.3).'(1.2.3.4.5)).;;.
7ea60 3d 3e 20 28 34 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 78 66 6e 20 60 28 66 6e 20 26 =>.(4.5).```..####.-fixfn.`(fn.&
7ea80 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 60 0a optional.equal-test.halt-test)`.
7eaa0 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 .Return.a.function.that.computes
7eac0 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 60 66 6e 60 2e 0a 0a .the.(least).fixpoint.of.`fn`...
7eae0 60 66 6e 60 20 6d 75 73 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 `fn`.must.be.a.unary.function..T
7eb00 68 65 20 72 65 74 75 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c he.returned.lambda.takes.a.singl
7eb20 65 0a 61 72 67 75 6d 65 6e 74 2c 20 60 78 60 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c e.argument,.`x`,.the.initial.val
7eb40 75 65 20 66 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 ue.for.the.fixpoint.iteration..T
7eb60 68 65 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f he.iteration.halts.when.either.o
7eb80 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 20 73 61 f.the.following.conditions.is.sa
7eba0 74 69 73 66 69 65 64 3a 0a 0a 20 31 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 tisfied:...1..Iteration.converge
7ebc0 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 s.to.the.fixpoint,.with.equality
7ebe0 20 62 65 69 6e 67 0a 20 20 20 20 20 20 74 65 73 74 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c .being.......tested.using.`equal
7ec00 2d 74 65 73 74 60 2e 20 49 66 20 60 65 71 75 61 6c 2d 74 65 73 74 60 20 69 73 20 6e 6f 74 20 73 -test`..If.`equal-test`.is.not.s
7ec20 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 20 20 60 65 71 75 61 6c 60 20 69 73 20 75 73 65 64 2e pecified,.......`equal`.is.used.
7ec40 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 .For.functions.over.the.floating
7ec60 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 62 65 20 .point.......numbers,.it.may.be.
7ec80 6e 65 63 65 73 73 61 72 79 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 72 6f 70 72 69 necessary.to.provide.an.appropri
7eca0 61 74 65 0a 20 20 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 6f 6e ate.......approximate.comparison
7ecc0 20 74 65 73 74 2e 0a 0a 20 32 2e 20 60 68 61 6c 74 2d 74 65 73 74 60 20 72 65 74 75 72 6e 73 20 .test....2..`halt-test`.returns.
7ece0 61 20 6e 6f 6e 2d 60 6e 69 6c 60 20 76 61 6c 75 65 2e 20 60 68 61 6c 74 2d 74 65 73 74 60 20 64 a.non-`nil`.value..`halt-test`.d
7ed00 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 efaults.to.a.......simple.counte
7ed20 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 60 74 60 20 61 66 74 65 72 20 60 2d 66 69 78 66 6e r.that.returns.`t`.after.`-fixfn
7ed40 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 60 2c 0a 20 20 20 20 20 20 74 6f 20 67 75 61 72 64 -max-iterations`,.......to.guard
7ed60 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e 2e 20 4f 74 68 .against.infinite.iteration..Oth
7ed80 65 72 77 69 73 65 2c 20 60 68 61 6c 74 2d 74 65 73 74 60 0a 20 20 20 20 20 20 6d 75 73 74 20 62 erwise,.`halt-test`.......must.b
7eda0 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 6e 67 e.a.function.that.accepts.a.sing
7edc0 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 76 le.argument,.the.......current.v
7ede0 61 6c 75 65 20 6f 66 20 60 78 60 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 60 6e 69 alue.of.`x`,.and.returns.non-`ni
7ee00 6c 60 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 73 68 l`.as.long.as.iteration.......sh
7ee20 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 77 61 79 2c 20 61 20 6d 6f ould.continue..In.this.way,.a.mo
7ee40 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 0a 20 20 20 20 20 20 63 6f 6e 76 65 72 67 65 6e re.sophisticated.......convergen
7ee60 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 63 ce.test.may.be.supplied.by.the.c
7ee80 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 aller...The.return.value.of.the.
7eea0 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 lambda.is.either.the.fixpoint.or
7eec0 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f 72 65 20 63 6f 6e ,.if.iteration.halted.before.con
7eee0 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 60 68 61 6c 74 65 64 verging,.a.cons.with.car.`halted
7ef00 60 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 `.and.cdr.the.final.output.from.
7ef20 60 68 61 6c 74 2d 74 65 73 74 60 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 `halt-test`...In.types:.(a.->.a)
7ef40 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 .->.a.->.a...```el.(funcall.(-fi
7ef60 78 66 6e 20 23 27 63 6f 73 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 20 3b 3b 20 7e 3e 20 xfn.#'cos.#'approx=).0.7).;;.~>.
7ef80 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 0.7390851332151607.(funcall.(-fi
7efa0 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 78 70 74 20 28 2b 20 78 20 31 30 29 20 30 xfn.(lambda.(x).(expt.(+.x.10).0
7efc0 2e 32 35 29 29 29 20 32 2e 30 29 20 3b 3b 20 3d 3e 20 31 2e 38 35 35 35 38 34 35 32 38 36 34 30 .25))).2.0).;;.=>.1.855584528640
7efe0 39 33 37 38 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 73 69 6e 20 23 27 61 70 9378.(funcall.(-fixfn.#'sin.#'ap
7f000 70 72 6f 78 3d 29 20 30 2e 31 29 20 3b 3b 20 3d 3e 20 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 60 prox=).0.1).;;.=>.(halted...t).`
7f020 60 60 0a 0a 23 23 23 23 20 2d 70 72 6f 64 66 6e 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 0a ``..####.-prodfn.`(&rest.fns)`..
7f040 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 65 Return.a.function.that.applies.e
7f060 61 63 68 20 6f 66 20 60 66 6e 73 60 20 74 6f 20 65 61 63 68 20 6f 66 20 61 20 6c 69 73 74 20 6f ach.of.`fns`.to.each.of.a.list.o
7f080 66 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 61 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 20 60 6e f.arguments...Takes.a.list.of.`n
7f0a0 60 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 66 75 6e 63 74 69 `.functions.and.returns.a.functi
7f0c0 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 60 on.that.takes.a.list.of.length.`
7f0e0 6e 60 2c 20 61 70 70 6c 79 69 6e 67 20 60 69 60 74 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 60 n`,.applying.`i`th.function.to.`
7f100 69 60 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 i`th.element.of.the.input.list..
7f120 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 60 6e 60 2e 0a 0a .Returns.a.list.of.length.`n`...
7f140 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 60 6e 60 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c In.types.(for.`n`=2):.((a.->.b),
7f160 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a .(c.->.d)).->.(a,.c).->.(b,.d)..
7f180 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c This.function.satisfies.the.foll
7f1a0 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 owing.laws:........(-compose.(-p
7f1c0 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 rodfn.f.g....).................(
7f1e0 2d 70 72 6f 64 66 6e 20 66 27 20 67 27 20 2e 2e 2e 29 29 0a 20 20 20 20 3d 20 28 2d 70 72 6f 64 -prodfn.f'.g'....)).....=.(-prod
7f200 66 6e 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 fn.(-compose.f.f')..............
7f220 20 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(-compose.g.g')...............
7f240 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 ....)........(-prodfn.f.g....)..
7f260 20 20 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 ...=.(-juxt.(-compose.f.(-partia
7f280 6c 20 23 27 6e 74 68 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f l.#'nth.0))..............(-compo
7f2a0 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 23 27 6e 74 68 20 31 29 29 0a 20 20 20 20 20 20 20 se.g.(-partial.#'nth.1))........
7f2c0 20 20 20 20 20 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 .........)........(-compose.(-pr
7f2e0 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d odfn.f.g....).................(-
7f300 6a 75 78 74 20 66 27 20 67 27 20 2e 2e 2e 29 29 0a 20 20 20 20 3d 20 28 2d 6a 75 78 74 20 28 2d juxt.f'.g'....)).....=.(-juxt.(-
7f320 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d compose.f.f')..............(-com
7f340 70 6f 73 65 20 67 20 67 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 0a 0a 20 20 pose.g.g').................)....
7f360 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 23 27 6e 74 68 20 6e 29 ....(-compose.(-partial.#'nth.n)
7f380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 2e 2e .................(-prod.f1.f2...
7f3a0 2e 29 29 0a 20 20 20 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c .)).....=.(-compose.fn.(-partial
7f3c0 20 23 27 6e 74 68 20 6e 29 29 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f .#'nth.n))..```el.(funcall.(-pro
7f3e0 64 66 6e 20 23 27 31 2b 20 23 27 31 2d 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 dfn.#'1+.#'1-.#'number-to-string
7f400 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 32 20 31 20 22 33 22 29 0a 28 2d 6d 61 ).'(1.2.3)).;;.=>.(2.1."3").(-ma
7f420 70 20 28 2d 70 72 6f 64 66 6e 20 23 27 31 2d 20 23 27 31 2b 29 20 27 28 28 31 20 32 29 20 28 33 p.(-prodfn.#'1-.#'1+).'((1.2).(3
7f440 20 34 29 20 28 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 33 29 20 28 32 20 35 29 20 28 .4).(5.6))).;;.=>.((0.3).(2.5).(
7f460 34 20 37 29 29 0a 28 61 70 70 6c 79 20 23 27 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 4.7)).(apply.#'+.(funcall.(-prod
7f480 66 6e 20 23 27 6c 65 6e 67 74 68 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 fn.#'length.#'string-to-number).
7f4a0 27 28 28 74 29 20 22 35 22 29 29 29 20 3b 3b 20 3d 3e 20 36 0a 60 60 60 0a 0a 23 23 20 43 6f 6e '((t)."5"))).;;.=>.6.```..##.Con
7f4c0 74 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 tribute..Yes,.please.do...Pure.f
7f4e0 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f unctions.in.the.list.manipulatio
7f500 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 n.realm.only,.please...There's.a
7f520 20 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 60 64 65 76 .suite.of.examples/tests.in.`dev
7f540 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 60 2c 20 73 6f 0a 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 /examples.el`,.so.remember.to.ad
7f560 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 49 d.tests.for.your.additions,.or.I
7f580 20 6d 69 67 68 74 20 62 72 65 61 6b 20 74 68 65 6d 20 6c 61 74 65 72 2e 0a 0a 59 6f 75 27 6c 6c .might.break.them.later...You'll
7f5a0 20 66 69 6e 64 20 74 68 65 20 72 65 70 6f 20 61 74 3a 0a 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f .find.the.repo.at:......https://
7f5c0 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 52 75 6e 20 github.com/magnars/dash.el..Run.
7f5e0 74 68 65 20 74 65 73 74 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 20 63 68 65 63 6b 0a the.tests.with:......make.check.
7f600 0a 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 .Regenerate.the.docs.with:......
7f620 6d 61 6b 65 20 64 6f 63 73 0a 0a 49 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 make.docs..I.highly.recommend.th
7f640 61 74 20 79 6f 75 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 61 73 20 61 20 70 72 65 2d 63 6f at.you.install.these.as.a.pre-co
7f660 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 0a 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 mmit.hook,.so.that.the.tests.are
7f680 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 .always.running.and.the.docs.are
7f6a0 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 20 63 70 20 64 65 76 2f 70 72 65 .always.in.sync:......cp.dev/pre
7f6c0 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 -commit.sh..git/hooks/pre-commit
7f6e0 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 60 52 45 41 44 4d 45 2e 6d 64 60 ..Oh,.and.don't.edit.`README.md`
7f700 20 6f 72 20 60 64 61 73 68 2e 74 65 78 69 60 20 64 69 72 65 63 74 6c 79 3b 20 74 68 65 79 20 61 .or.`dash.texi`.directly;.they.a
7f720 72 65 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 43 68 61 6e 67 65 20 60 72 65 61 64 re.auto-generated...Change.`read
7f740 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 2d 74 65 6d 70 6c 61 74 me-template.md`.or.`dash-templat
7f760 65 2e 74 65 78 69 60 0a 69 6e 73 74 65 61 64 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 0a e.texi`.instead,.respectively...
7f780 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 60 64 61 73 68 2e 65 6c 60 20 63 61 6e 20 62 65 20 To.ensure.that.`dash.el`.can.be.
7f7a0 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 45 6d 61 distributed.with.GNU.ELPA.or.Ema
7f7c0 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 69 62 75 cs,.we.require.that.all.contribu
7f7e0 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 46 72 65 tors.assign.copyright.to.the.Fre
7f800 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 e.Software.Foundation...For.more
7f820 20 6f 6e 20 74 68 69 73 2c 20 73 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 43 .on.this,.see.[`(info."(emacs).C
7f840 6f 70 79 72 69 67 68 74 0a 41 73 73 69 67 6e 6d 65 6e 74 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f opyright.Assignment")`](https://
7f860 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 gnu.org/software/emacs/manual/ht
7f880 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 68 74 2d 41 73 73 69 67 6e 6d 65 ml_node/emacs/Copyright-Assignme
7f8a0 6e 74 2e 68 74 6d 6c 29 2e 0a 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 2d 20 5b 4d nt.html)...##.Contributors..-.[M
7f8c0 61 74 75 73 20 47 6f 6c 6a 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f atus.Goljer](https://github.com/
7f8e0 46 75 63 6f 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 20 66 65 61 74 75 Fuco1).contributed.lots.of.featu
7f900 72 65 73 20 61 6e 64 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 5b 54 61 6b 61 66 75 6d 69 res.and...functions..-.[Takafumi
7f920 20 41 72 61 6b 61 6b 69 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 .Arakaki](https://github.com/tkf
7f940 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 67 72 6f 75 70 2d 62 79 60 2e 0a 2d 20 5b 74 61 ).contributed.`-group-by`..-.[ta
7f960 6c 69 37 31 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 li713](https://github.com/tali71
7f980 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 60 2d 61 70 70 6c 69 66 79 60 2e 0a 3).is.the.author.of.`-applify`..
7f9a0 2d 20 5b 56 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 5d 28 68 74 74 70 73 3a -.[V..ctor.M..Valenzuela](https:
7f9c0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 //github.com/vemv).contributed.`
7f9e0 2d 72 65 70 65 61 74 60 2e 0a 2d 20 5b 4e 69 63 20 46 65 72 72 69 65 72 5d 28 68 74 74 70 73 3a -repeat`..-.[Nic.Ferrier](https:
7fa00 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 20 63 6f 6e 74 72 69 62 //github.com/nicferrier).contrib
7fa20 75 74 65 64 20 60 2d 63 6f 6e 73 2a 60 2e 0a 2d 20 5b 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 uted.`-cons*`..-.[Wilfred.Hughes
7fa40 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 29 20 63 6f ](https://github.com/Wilfred).co
7fa60 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6c 69 63 65 60 2c 0a 20 20 60 2d 66 69 72 73 74 2d 69 74 ntributed.`-slice`,...`-first-it
7fa80 65 6d 60 2c 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 2e 0a 2d 20 5b 45 6d 61 6e 75 65 em`,.and.`-last-item`..-.[Emanue
7faa0 6c 20 45 76 61 6e 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 l.Evans](https://github.com/shos
7fac0 74 69 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 66 2d 6c 65 74 60 2c 20 60 2d 77 68 65 ti).contributed.`-if-let`,.`-whe
7fae0 6e 2d 6c 65 74 60 2c 0a 20 20 61 6e 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 2e 0a 2d 20 5b 4a n-let`,...and.`-insert-at`..-.[J
7fb00 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ohan.Andersson](https://github.c
7fb20 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 75 6d 60 2c 20 60 om/rejeep).contributed.`-sum`,.`
7fb40 2d 70 72 6f 64 75 63 74 60 2c 0a 20 20 61 6e 64 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 60 2e -product`,...and.`-same-items?`.
7fb60 0a 2d 20 5b 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 .-.[Christina.Whyte](https://git
7fb80 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e 74 72 69 62 75 74 65 64 hub.com/kurisuwhyte).contributed
7fba0 20 60 2d 63 6f 6d 70 6f 73 65 60 2e 0a 2d 20 5b 53 74 65 76 65 20 4c 61 6d 62 5d 28 68 74 74 70 .`-compose`..-.[Steve.Lamb](http
7fbc0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 6d 62 29 20 63 6f 6e 74 s://github.com/steventlamb).cont
7fbe0 72 69 62 75 74 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 61 64 60 2c 0a 20 20 60 2d 61 6e ributed.`-cycle`,.`-pad`,...`-an
7fc00 6e 6f 74 61 74 65 60 2c 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 2c 20 61 6e 64 20 61 20 76 61 72 69 notate`,.`-zip-fill`,.and.a.vari
7fc20 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 7a 69 70 60 2e 0a 2d 20 5b 46 72 65 64 72 adic.version.of.`-zip`..-.[Fredr
7fc40 69 6b 20 42 65 72 67 72 6f 74 68 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ik.Bergroth](https://github.com/
7fc60 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 60 2d 69 66 2d 6c 65 74 60 20 66 61 fbergroth).made.the.`-if-let`.fa
7fc80 6d 69 6c 79 20 75 73 65 0a 20 20 60 2d 6c 65 74 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 mily.use...`-let`.destructuring.
7fca0 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 20 73 63 72 69 70 74 20 66 6f 72 20 67 65 6e 65 and.improved.the.script.for.gene
7fcc0 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2d 20 5b 4d 61 72 6b 20 4f 74 rating.documentation..-.[Mark.Ot
7fce0 65 69 7a 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 eiza](https://github.com/holomor
7fd00 70 68 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 6f 74 61 60 20 61 6e 64 0a 20 20 74 68 ph).contributed.`-iota`.and...th
7fd20 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 e.script.to.create.an.Info.manua
7fd40 6c 2e 0a 2d 20 5b 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 5d 28 68 74 74 l..-.[Vasilij.Schneidermann](htt
7fd60 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 29 20 63 6f 6e 74 72 69 ps://github.com/wasamasa).contri
7fd80 62 75 74 65 64 20 60 2d 73 6f 6d 65 60 2e 0a 2d 20 5b 57 69 6c 6c 69 61 6d 20 57 65 73 74 5d 28 buted.`-some`..-.[William.West](
7fda0 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 29 20 6d 61 64 https://github.com/occidens).mad
7fdc0 65 20 60 2d 66 69 78 66 6e 60 20 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 0a 20 20 68 61 6e 64 e.`-fixfn`.more.robust.at...hand
7fde0 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 2d 20 5b 43 61 6d 20 53 61 75 6c 5d 28 68 74 74 70 73 3a ling.floats..-.[Cam.Saul](https:
7fe00 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 75 74 65 //github.com/camsaul).contribute
7fe20 64 20 60 2d 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c 20 61 6e 64 0a 20 20 60 d.`-some->`,.`-some->>`,.and...`
7fe40 2d 73 6f 6d 65 2d 2d 3e 60 2e 0a 2d 20 5b 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e -some-->`..-.[Basil.L..Contovoun
7fe60 65 73 69 6f 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d esios](https://github.com/basil-
7fe80 63 6f 6e 74 6f 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 conto).contributed...`-common-pr
7fea0 65 66 69 78 60 2c 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 2c 20 61 6e 64 20 76 61 72 efix`,.`-common-suffix`,.and.var
7fec0 69 6f 75 73 20 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 2d 20 5b 50 61 75 6c ious.other.improvements..-.[Paul
7fee0 20 50 6f 67 6f 6e 79 73 68 65 76 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f .Pogonyshev](https://github.com/
7ff00 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 65 61 63 68 2d 72 60 20 61 doublep).contributed.`-each-r`.a
7ff20 6e 64 0a 20 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a 0a 54 68 61 6e 6b 73 21 0a 0a nd...`-each-r-while`...Thanks!..
7ff40 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d New.contributors.are.very.welcom
7ff60 65 2e 20 20 53 65 65 20 74 68 65 0a 5b 60 43 6f 6e 74 72 69 62 75 74 65 60 5d 28 23 63 6f 6e 74 e...See.the.[`Contribute`](#cont
7ff80 72 69 62 75 74 65 29 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 2e 0a 0a 23 23 20 4c 69 63 65 6e ribute).section.above...##.Licen
7ffa0 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 2d 32 30 32 35 20 46 72 65 65 se..Copyright.(C).2012-2025.Free
7ffc0 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 41 75 74 68 .Software.Foundation,.Inc...Auth
7ffe0 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e or:.Magnar.Sveen.<magnars@gmail.
80000 63 6f 6d 3e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 com>..This.program.is.free.softw
80020 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 are:.you.can.redistribute.it.and
80040 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 /or.modify.it.under.the.terms.of
80060 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
80080 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 as.published.by.the.Free.Softwar
800a0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f e.Foundation,.either.version.3.o
800c0 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f f.the.License,.or.(at.your.optio
800e0 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 n).any.later.version...This.prog
80100 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
80120 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 62 75 74 20 57 49 54 48 4f hat.it.will.be.useful,.but.WITHO
80140 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
80160 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 e.implied.warranty.of.MERCHANTAB
80180 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
801a0 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 R.PURPOSE...See.the.GNU.General.
801c0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e Public.License.for.more.details.
801e0 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 ..You.should.have.received.a.cop
80200 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 y.of.the.GNU.General.Public.Lice
80220 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 nse.along.with.this.program...If
80240 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c .not,.see.<https://www.gnu.org/l
80260 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 icenses/>.......................
80280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
802a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
802c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
802e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
803a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
803c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
803e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80400 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/doc/................
80420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
80480 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 31 36 00 20 35 00 00 00 0000000.00000000000.011716..5...
804a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
804c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
804e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
80520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
80540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
805a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
805c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
805e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80600 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 6f 63 2f 67 70 6c 2e 74 65 78 69 00 00 00 00 00 00 00 00 dash-2.20.0/doc/gpl.texi........
80620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
80680 30 31 30 34 34 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 33 37 35 00 20 30 00 00 00 0104421.00000000000.013375..0...
806a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
806c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
806e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
80720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
80740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
807a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
807c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
807e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80800 40 63 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 @c.The.GNU.General.Public.Licens
80820 65 2e 0a 40 63 65 6e 74 65 72 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 e..@center.Version.3,.29.June.20
80840 30 37 0a 0a 40 63 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 07..@c.This.file.is.intended.to.
80860 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 20 64 6f 63 75 6d be.included.within.another.docum
80880 65 6e 74 2c 0a 40 63 20 68 65 6e 63 65 20 6e 6f 20 73 65 63 74 69 6f 6e 69 6e 67 20 63 6f 6d 6d ent,.@c.hence.no.sectioning.comm
808a0 61 6e 64 20 6f 72 20 40 6e 6f 64 65 2e 0a 0a 40 64 69 73 70 6c 61 79 0a 43 6f 70 79 72 69 67 68 and.or.@node...@display.Copyrigh
808c0 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 t.@copyright{}.2007.Free.Softwar
808e0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f e.Foundation,.Inc..@url{https://
80900 66 73 66 2e 6f 72 67 2f 7d 0a 0a 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 fsf.org/}..Everyone.is.permitted
80920 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d .to.copy.and.distribute.verbatim
80940 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 .copies.of.this.license.document
80960 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 ,.but.changing.it.is.not.allowed
80980 2e 0a 40 65 6e 64 20 64 69 73 70 6c 61 79 0a 0a 40 68 65 61 64 69 6e 67 20 50 72 65 61 6d 62 6c ..@end.display..@heading.Preambl
809a0 65 0a 0a 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 e..The.GNU.General.Public.Licens
809c0 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 65 20 66 6f e.is.a.free,.copyleft.license.fo
809e0 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 77 6f r.software.and.other.kinds.of.wo
80a00 72 6b 73 2e 0a 0a 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 rks...The.licenses.for.most.soft
80a20 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 6f 72 6b 73 20 61 ware.and.other.practical.works.a
80a40 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 20 66 72 re.designed.to.take.away.your.fr
80a60 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 74 68 65 20 77 6f eedom.to.share.and.change.the.wo
80a80 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rks...By.contrast,.the.GNU.Gener
80aa0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f al.Public.License.is.intended.to
80ac0 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 0a 74 6f 20 73 68 61 72 65 .guarantee.your.freedom.to.share
80ae0 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 70 72 .and.change.all.versions.of.a.pr
80b00 6f 67 72 61 6d 2d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d 61 69 6e 73 0a ogram---to.make.sure.it.remains.
80b20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e free.software.for.all.its.users.
80b40 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 ..We,.the.Free.Software.Foundati
80b60 6f 6e 2c 0a 75 73 65 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c on,.use.the.GNU.General.Public.L
80b80 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 77 61 72 65 3b icense.for.most.of.our.software;
80ba0 20 69 74 0a 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 20 61 6e 79 20 6f 74 68 65 72 20 77 6f .it.applies.also.to.any.other.wo
80bc0 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 20 61 75 74 68 rk.released.this.way.by.its.auth
80be0 6f 72 73 2e 20 20 59 6f 75 0a 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 20 79 6f 75 72 20 70 ors...You.can.apply.it.to.your.p
80c00 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 rograms,.too...When.we.speak.of.
80c20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 free.software,.we.are.referring.
80c40 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 to.freedom,.not.price...Our.Gene
80c60 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 ral.Public.Licenses.are.designed
80c80 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 .to.make.sure.that.you.have.the.
80ca0 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 freedom.to.distribute.copies.of.
80cc0 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 free.software.(and.charge.for.th
80ce0 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 em.if.you.wish),.that.you.receiv
80d00 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 69 66 20 79 e.source.code.or.can.get.it.if.y
80d20 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 65 20 ou.want.it,.that.you.can.change.
80d40 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 69 74 the.software.or.use.pieces.of.it
80d60 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e 64 20 74 68 61 74 20 .in.new.free.programs,.and.that.
80d80 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 you.know.you.can.do.these.things
80da0 2e 0a 0a 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 65 20 6e 65 ...To.protect.your.rights,.we.ne
80dc0 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 6f 6d 20 64 65 6e 79 69 6e ed.to.prevent.others.from.denyin
80de0 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 73 6b 69 6e 67 20 79 6f 75 g.you.these.rights.or.asking.you
80e00 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 20 20 54 68 65 72 65 .to.surrender.the.rights...There
80e20 66 6f 72 65 2c 20 79 6f 75 0a 68 61 76 65 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 fore,.you.have.certain.responsib
80e40 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 ilities.if.you.distribute.copies
80e60 20 6f 66 20 74 68 65 0a 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 79 6f 75 20 6d 6f 64 69 .of.the.software,.or.if.you.modi
80e80 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 74 6f 20 72 65 73 70 65 fy.it:.responsibilities.to.respe
80ea0 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 0a 6f 66 20 6f 74 68 65 72 73 2e 0a 0a 46 6f 72 20 65 ct.the.freedom.of.others...For.e
80ec0 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 xample,.if.you.distribute.copies
80ee0 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 .of.such.a.program,.whether.grat
80f00 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 70 61 73 73 20 6f is.or.for.a.fee,.you.must.pass.o
80f20 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 68 65 20 73 61 6d 65 0a 66 72 65 n.to.the.recipients.the.same.fre
80f40 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 64 2e 20 20 59 6f 75 20 6d 75 edoms.that.you.received...You.mu
80f60 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 0a 72 65 63 st.make.sure.that.they,.too,.rec
80f80 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e eive.or.can.get.the.source.code.
80fa0 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 0a 74 ..And.you.must.show.them.these.t
80fc0 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 72 20 72 69 67 68 74 73 2e 0a erms.so.they.know.their.rights..
80fe0 0a 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 65 20 74 68 65 20 47 4e 55 20 47 50 4c .Developers.that.use.the.GNU.GPL
81000 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 .protect.your.rights.with.two.st
81020 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 eps:.(1).assert.copyright.on.the
81040 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 .software,.and.(2).offer.you.thi
81060 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 s.License.giving.you.legal.permi
81080 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 ssion.to.copy,.distribute.and/or
810a0 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 46 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 .modify.it...For.the.developers'
810c0 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 .and.authors'.protection,.the.GP
810e0 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 L.clearly.explains.that.there.is
81100 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 .no.warranty.for.this.free.softw
81120 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 are...For.both.users'.and.author
81140 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d s'.sake,.the.GPL.requires.that.m
81160 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 odified.versions.be.marked.as.ch
81180 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 anged,.so.that.their.problems.wi
811a0 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 ll.not.be.attributed.erroneously
811c0 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 .to.authors.of.previous.versions
811e0 2e 0a 0a 53 6f 6d 65 20 64 65 76 69 63 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 ...Some.devices.are.designed.to.
81200 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 deny.users.access.to.install.or.
81220 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 run.modified.versions.of.the.sof
81240 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 0a tware.inside.them,.although.the.
81260 6d 61 6e 75 66 61 63 74 75 72 65 72 20 63 61 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 manufacturer.can.do.so...This.is
81280 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 .fundamentally.incompatible.with
812a0 20 74 68 65 0a 61 69 6d 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 .the.aim.of.protecting.users'.fr
812c0 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 eedom.to.change.the.software...T
812e0 68 65 0a 73 79 73 74 65 6d 61 74 69 63 20 70 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 he.systematic.pattern.of.such.ab
81300 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 use.occurs.in.the.area.of.produc
81320 74 73 20 66 6f 72 0a 69 6e 64 69 76 69 64 75 61 6c 73 20 74 6f 20 75 73 65 2c 20 77 68 69 63 68 ts.for.individuals.to.use,.which
81340 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 .is.precisely.where.it.is.most.u
81360 6e 61 63 63 65 70 74 61 62 6c 65 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 77 65 20 68 61 76 65 20 nacceptable..Therefore,.we.have.
81380 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c designed.this.version.of.the.GPL
813a0 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 68 65 0a 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 .to.prohibit.the.practice.for.th
813c0 6f 73 65 20 70 72 6f 64 75 63 74 73 2e 20 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 ose.products...If.such.problems.
813e0 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6e 0a 6f 74 68 65 72 20 64 6f 6d arise.substantially.in.other.dom
81400 61 69 6e 73 2c 20 77 65 20 73 74 61 6e 64 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 ains,.we.stand.ready.to.extend.t
81420 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 74 6f 20 74 68 6f 73 65 0a 64 6f 6d 61 69 6e 73 20 69 his.provision.to.those.domains.i
81440 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 n.future.versions.of.the.GPL,.as
81460 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 66 72 65 65 64 6f 6d 20 6f .needed.to.protect.the.freedom.o
81480 66 20 75 73 65 72 73 2e 0a 0a 46 69 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d f.users...Finally,.every.program
814a0 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 .is.threatened.constantly.by.sof
814c0 74 77 61 72 65 20 70 61 74 65 6e 74 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 tware.patents..States.should.not
814e0 20 61 6c 6c 6f 77 20 70 61 74 65 6e 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c .allow.patents.to.restrict.devel
81500 6f 70 6d 65 6e 74 20 61 6e 64 20 75 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 opment.and.use.of.software.on.ge
81520 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 neral-purpose.computers,.but.in.
81540 74 68 6f 73 65 20 74 68 61 74 20 64 6f 2c 20 77 65 20 77 69 73 68 0a 74 6f 20 61 76 6f 69 64 20 those.that.do,.we.wish.to.avoid.
81560 74 68 65 20 73 70 65 63 69 61 6c 20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 the.special.danger.that.patents.
81580 61 70 70 6c 69 65 64 20 74 6f 20 61 20 66 72 65 65 20 70 72 6f 67 72 61 6d 0a 63 6f 75 6c 64 20 applied.to.a.free.program.could.
815a0 6d 61 6b 65 20 69 74 20 65 66 66 65 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e make.it.effectively.proprietary.
815c0 20 20 54 6f 20 70 72 65 76 65 6e 74 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 0a 61 73 73 75 72 ..To.prevent.this,.the.GPL.assur
815e0 65 73 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 es.that.patents.cannot.be.used.t
81600 6f 20 72 65 6e 64 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a o.render.the.program.non-free...
81620 54 68 65 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 The.precise.terms.and.conditions
81640 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d .for.copying,.distribution.and.m
81660 6f 64 69 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 40 68 65 61 64 69 6e 67 20 54 45 odification.follow...@heading.TE
81680 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 30 RMS.AND.CONDITIONS..@enumerate.0
816a0 0a 40 69 74 65 6d 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 60 60 54 68 69 73 20 4c 69 63 65 .@item.Definitions...``This.Lice
816c0 6e 73 65 27 27 20 72 65 66 65 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 nse''.refers.to.version.3.of.the
816e0 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 60 60 .GNU.General.Public.License...``
81700 43 6f 70 79 72 69 67 68 74 27 27 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 Copyright''.also.means.copyright
81720 2d 6c 69 6b 65 20 6c 61 77 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b -like.laws.that.apply.to.other.k
81740 69 6e 64 73 0a 6f 66 20 77 6f 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 inds.of.works,.such.as.semicondu
81760 63 74 6f 72 20 6d 61 73 6b 73 2e 0a 0a 60 60 54 68 65 20 50 72 6f 67 72 61 6d 27 27 20 72 65 66 ctor.masks...``The.Program''.ref
81780 65 72 73 20 74 6f 20 61 6e 79 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 ers.to.any.copyrightable.work.li
817a0 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 censed.under.this.License...Each
817c0 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 60 60 79 6f 75 27 .licensee.is.addressed.as.``you'
817e0 27 2e 20 20 60 60 4c 69 63 65 6e 73 65 65 73 27 27 20 61 6e 64 0a 60 60 72 65 63 69 70 69 65 6e '...``Licensees''.and.``recipien
81800 74 73 27 27 20 6d 61 79 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e ts''.may.be.individuals.or.organ
81820 69 7a 61 74 69 6f 6e 73 2e 0a 0a 54 6f 20 60 60 6d 6f 64 69 66 79 27 27 20 61 20 77 6f 72 6b 20 izations...To.``modify''.a.work.
81840 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 means.to.copy.from.or.adapt.all.
81860 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e or.part.of.the.work.in.a.fashion
81880 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c .requiring.copyright.permission,
818a0 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6d 61 6b 69 6e 67 20 6f 66 0a 61 6e 20 65 78 61 .other.than.the.making.of.an.exa
818c0 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 ct.copy...The.resulting.work.is.
818e0 63 61 6c 6c 65 64 20 61 20 60 60 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 27 27 20 6f 66 called.a.``modified.version''.of
81900 0a 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 6f 72 20 61 20 77 6f 72 6b 20 60 60 62 61 .the.earlier.work.or.a.work.``ba
81920 73 65 64 20 6f 6e 27 27 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 sed.on''.the.earlier.work...A.``
81940 63 6f 76 65 72 65 64 20 77 6f 72 6b 27 27 20 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 covered.work''.means.either.the.
81960 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 unmodified.Program.or.a.work.bas
81980 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 54 6f 20 60 60 70 72 6f 70 61 67 61 ed.on.the.Program...To.``propaga
819a0 74 65 27 27 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 te''.a.work.means.to.do.anything
819c0 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 70 65 72 6d 69 73 73 69 6f .with.it.that,.without.permissio
819e0 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 72 65 63 74 6c 79 20 6f 72 20 73 65 n,.would.make.you.directly.or.se
81a00 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a 69 6e 66 72 69 6e 67 65 6d 65 6e condarily.liable.for.infringemen
81a20 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 t.under.applicable.copyright.law
81a40 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 ,.except.executing.it.on.a.compu
81a60 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 72 69 76 61 74 65 20 63 6f 70 79 2e ter.or.modifying.a.private.copy.
81a80 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 63 6f 70 79 69 6e 67 2c 0a ..Propagation.includes.copying,.
81aa0 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f distribution.(with.or.without.mo
81ac0 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f dification),.making.available.to
81ae0 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 73 6f 6d 65 20 63 6f 75 6e 74 72 69 .the.public,.and.in.some.countri
81b00 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 61 73 20 77 65 6c 6c 2e 0a 0a 54 6f es.other.activities.as.well...To
81b20 20 60 60 63 6f 6e 76 65 79 27 27 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 61 6e 79 20 6b 69 6e .``convey''.a.work.means.any.kin
81b40 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 74 20 65 6e 61 62 6c 65 73 20 6f 74 d.of.propagation.that.enables.ot
81b60 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 6f 72 20 72 65 63 65 69 76 65 20 63 her.parties.to.make.or.receive.c
81b80 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 61 20 opies...Mere.interaction.with.a.
81ba0 75 73 65 72 0a 74 68 72 6f 75 67 68 20 61 20 63 6f 6d 70 75 74 65 72 20 6e 65 74 77 6f 72 6b 2c user.through.a.computer.network,
81bc0 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 20 61 20 63 6f 70 79 2c 20 69 73 20 .with.no.transfer.of.a.copy,.is.
81be0 6e 6f 74 0a 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 41 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 not.conveying...An.interactive.u
81c00 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 6c 61 79 73 20 60 60 41 70 70 72 6f 70 72 ser.interface.displays.``Appropr
81c20 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 27 27 20 74 6f 0a 74 68 65 20 65 78 74 65 iate.Legal.Notices''.to.the.exte
81c40 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 nt.that.it.includes.a.convenient
81c60 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 69 62 6c 65 0a 66 65 61 74 75 72 65 .and.prominently.visible.feature
81c80 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 .that.(1).displays.an.appropriat
81ca0 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 28 32 29 0a 74 65 6c 6c e.copyright.notice,.and.(2).tell
81cc0 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 s.the.user.that.there.is.no.warr
81ce0 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 78 63 65 70 74 20 74 6f 20 74 68 65 anty.for.the.work.(except.to.the
81d00 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 69 65 73 20 61 72 65 20 70 72 6f 76 .extent.that.warranties.are.prov
81d20 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 73 20 6d 61 79 20 63 6f 6e 76 65 79 ided),.that.licensees.may.convey
81d40 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e .the.work.under.this.License,.an
81d60 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 d.how.to.view.a.copy.of.this.Lic
81d80 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 70 72 65 73 65 6e 74 73 ense...If.the.interface.presents
81da0 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d 61 6e 64 73 20 6f 72 20 6f 70 74 69 .a.list.of.user.commands.or.opti
81dc0 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 6e 65 6e 74 ons,.such.as.a.menu,.a.prominent
81de0 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 65 74 73 20 74 68 69 73 20 63 72 69 .item.in.the.list.meets.this.cri
81e00 74 65 72 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 53 6f 75 72 63 65 20 43 6f 64 65 2e 0a 0a 54 68 65 terion...@item.Source.Code...The
81e20 20 60 60 73 6f 75 72 63 65 20 63 6f 64 65 27 27 20 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e .``source.code''.for.a.work.mean
81e40 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b s.the.preferred.form.of.the.work
81e60 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e .for.making.modifications.to.it.
81e80 20 20 60 60 4f 62 6a 65 63 74 20 63 6f 64 65 27 27 20 6d 65 61 6e 73 20 61 6e 79 20 6e 6f 6e 2d ..``Object.code''.means.any.non-
81ea0 73 6f 75 72 63 65 20 66 6f 72 6d 0a 6f 66 20 61 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 53 74 61 6e source.form.of.a.work...A.``Stan
81ec0 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 27 27 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 72 66 dard.Interface''.means.an.interf
81ee0 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f 66 66 69 63 69 61 6c 0a 73 ace.that.either.is.an.official.s
81f00 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 63 6f 67 6e 69 7a 65 64 20 tandard.defined.by.a.recognized.
81f20 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 74 68 65 20 63 61 73 65 20 standards.body,.or,.in.the.case.
81f40 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 61 20 70 61 of.interfaces.specified.for.a.pa
81f60 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 2c 20 6f rticular.programming.language,.o
81f80 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 61 6d 6f 6e 67 20 64 65 76 ne.that.is.widely.used.among.dev
81fa0 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 20 6c 61 6e 67 75 61 67 65 elopers.working.in.that.language
81fc0 2e 0a 0a 54 68 65 20 60 60 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 27 27 20 6f 66 20 61 ...The.``System.Libraries''.of.a
81fe0 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 n.executable.work.include.anythi
82000 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f ng,.other.than.the.work.as.a.who
82020 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 le,.that.(a).is.included.in.the.
82040 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e 67 20 61 20 4d 61 6a 6f 72 normal.form.of.packaging.a.Major
82060 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 61 72 .Component,.but.which.is.not.par
82080 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 6e 74 2c 20 61 6e 64 20 28 t.of.that.Major.Component,.and.(
820a0 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c 65 20 75 73 65 20 6f 66 20 b).serves.only.to.enable.use.of.
820c0 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 the.work.with.that.Major.Compone
820e0 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 74 61 6e 64 61 72 64 20 49 nt,.or.to.implement.a.Standard.I
82100 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 6d 70 6c 65 6d 65 6e 74 61 nterface.for.which.an.implementa
82120 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 tion.is.available.to.the.public.
82140 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 0a 60 60 4d 61 6a 6f 72 20 in.source.code.form...A.``Major.
82160 43 6f 6d 70 6f 6e 65 6e 74 27 27 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 Component'',.in.this.context,.me
82180 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 0a ans.a.major.essential.component.
821a0 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 6e 64 20 73 6f 20 6f (kernel,.window.system,.and.so.o
821c0 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 n).of.the.specific.operating.sys
821e0 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 tem.(if.any).on.which.the.execut
82200 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 69 6c 65 72 20 75 73 able.work.runs,.or.a.compiler.us
82220 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f 72 20 61 6e 20 6f 62 ed.to.produce.the.work,.or.an.ob
82240 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 64 20 74 6f 20 72 75 ject.code.interpreter.used.to.ru
82260 6e 20 69 74 2e 0a 0a 54 68 65 20 60 60 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 n.it...The.``Corresponding.Sourc
82280 65 27 27 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f e''.for.a.work.in.object.code.fo
822a0 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6e 65 65 rm.means.all.the.source.code.nee
822c0 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c 20 61 6e 64 20 28 66 ded.to.generate,.install,.and.(f
822e0 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 20 6f or.an.executable.work).run.the.o
82300 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 bject.code.and.to.modify.the.wor
82320 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 6f 6e 74 72 6f 6c 20 k,.including.scripts.to.control.
82340 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 64 those.activities...However,.it.d
82360 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 73 0a 53 79 73 74 65 oes.not.include.the.work's.Syste
82380 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 m.Libraries,.or.general-purpose.
823a0 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 72 65 tools.or.generally.available.fre
823c0 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 75 6e 6d 6f 64 69 e.programs.which.are.used.unmodi
823e0 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 fied.in.performing.those.activit
82400 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 ies.but.which.are.not.part.of.th
82420 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 72 65 73 70 6f 6e 64 e.work...For.example,.Correspond
82440 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 66 61 63 65 20 64 65 ing.Source.includes.interface.de
82460 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 73 finition.files.associated.with.s
82480 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 74 68 ource.files.for.the.work,.and.th
824a0 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 e.source.code.for.shared.librari
824c0 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 20 73 75 62 70 72 6f es.and.dynamically.linked.subpro
824e0 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 65 63 69 66 69 63 61 grams.that.the.work.is.specifica
82500 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a 73 75 63 68 20 61 73 lly.designed.to.require,.such.as
82520 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 .by.intimate.data.communication.
82540 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 73 75 or.control.flow.between.those.su
82560 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 bprograms.and.other.parts.of.the
82580 20 77 6f 72 6b 2e 0a 0a 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .work...The.Corresponding.Source
825a0 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 .need.not.include.anything.that.
825c0 75 73 65 72 73 20 63 61 6e 0a 72 65 67 65 6e 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c users.can.regenerate.automatical
825e0 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 43 6f 72 72 65 ly.from.other.parts.of.the.Corre
82600 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 0a 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 sponding.Source...The.Correspond
82620 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 73 6f 75 72 63 65 20 ing.Source.for.a.work.in.source.
82640 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 20 73 61 6d 65 0a 77 6f 72 6b 2e 0a 0a 40 69 code.form.is.that.same.work...@i
82660 74 65 6d 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 41 6c 6c 20 72 69 67 68 tem.Basic.Permissions...All.righ
82680 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 72 ts.granted.under.this.License.ar
826a0 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 72 6d 20 6f 66 0a 63 6f 70 79 72 69 e.granted.for.the.term.of.copyri
826c0 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 61 6e 64 20 61 72 65 20 69 72 72 65 ght.on.the.Program,.and.are.irre
826e0 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 73 74 61 74 65 64 0a 63 6f 6e 64 vocable.provided.the.stated.cond
82700 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 65 78 itions.are.met...This.License.ex
82720 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 72 20 75 6e 6c 69 6d 69 74 65 64 0a plicitly.affirms.your.unlimited.
82740 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 permission.to.run.the.unmodified
82760 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 72 75 6e 6e 69 .Program...The.output.from.runni
82780 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 ng.a.covered.work.is.covered.by.
827a0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6f 75 74 70 75 74 2c this.License.only.if.the.output,
827c0 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 63 6f 6e 73 74 69 74 75 74 65 73 20 .given.its.content,.constitutes.
827e0 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 63 a.covered.work...This.License.ac
82800 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 74 73 20 6f 66 20 66 61 69 72 20 75 knowledges.your.rights.of.fair.u
82820 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 6e 74 2c 20 61 73 20 70 72 6f 76 69 se.or.other.equivalent,.as.provi
82840 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 59 6f 75 20 6d 61 79 20 6d ded.by.copyright.law...You.may.m
82860 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 ake,.run.and.propagate.covered.w
82880 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e 6f 74 20 63 6f 6e 76 65 79 2c 0a 77 69 74 orks.that.you.do.not.convey,.wit
828a0 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 hout.conditions.so.long.as.your.
828c0 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 6d 61 69 6e 73 20 69 6e 20 66 6f 72 license.otherwise.remains.in.for
828e0 63 65 2e 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 ce..You.may.convey.covered.works
82900 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 20 .to.others.for.the.sole.purpose.
82920 6f 66 20 68 61 76 69 6e 67 0a 74 68 65 6d 20 6d 61 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e of.having.them.make.modification
82940 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 s.exclusively.for.you,.or.provid
82960 65 20 79 6f 75 20 77 69 74 68 0a 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e e.you.with.facilities.for.runnin
82980 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 g.those.works,.provided.that.you
829a0 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c .comply.with.the.terms.of.this.L
829c0 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c icense.in.conveying.all.material
829e0 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 0a 63 6f 6e 74 72 6f 6c 20 63 6f .for.which.you.do.not.control.co
82a00 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 pyright...Those.thus.making.or.r
82a20 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 66 6f 72 0a 79 6f 75 unning.the.covered.works.for.you
82a40 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 .must.do.so.exclusively.on.your.
82a60 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 72 20 64 69 72 65 63 74 69 6f 6e 20 61 6e 64 behalf,.under.your.direction.and
82a80 0a 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 .control,.on.terms.that.prohibit
82aa0 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 .them.from.making.any.copies.of.
82ac0 79 6f 75 72 0a 63 6f 70 79 72 69 67 68 74 65 64 20 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 your.copyrighted.material.outsid
82ae0 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a e.their.relationship.with.you...
82b00 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d Conveying.under.any.other.circum
82b20 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 stances.is.permitted.solely.unde
82b40 72 20 74 68 65 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 r.the.conditions.stated.below...
82b60 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 Sublicensing.is.not.allowed;.sec
82b80 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 40 tion.10.makes.it.unnecessary...@
82ba0 69 74 65 6d 20 50 72 6f 74 65 63 74 69 6e 67 20 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 item.Protecting.Users'.Legal.Rig
82bc0 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e hts.From.Anti-Circumvention.Law.
82be0 0a 0a 4e 6f 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 ..No.covered.work.shall.be.deeme
82c00 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 d.part.of.an.effective.technolog
82c20 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c ical.measure.under.any.applicabl
82c40 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 e.law.fulfilling.obligations.und
82c60 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 er.article.11.of.the.WIPO.copyri
82c80 67 68 74 20 74 72 65 61 74 79 20 61 64 6f 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 ght.treaty.adopted.on.20.Decembe
82ca0 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 r.1996,.or.similar.laws.prohibit
82cc0 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e ing.or.restricting.circumvention
82ce0 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 72 65 73 2e 0a 0a 57 68 65 6e 20 79 6f 75 20 63 6f 6e .of.such.measures...When.you.con
82d00 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e vey.a.covered.work,.you.waive.an
82d20 79 20 6c 65 67 61 6c 20 70 6f 77 65 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 y.legal.power.to.forbid.circumve
82d40 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 ntion.of.technological.measures.
82d60 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 73 75 63 68 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e to.the.extent.such.circumvention
82d80 20 69 73 20 65 66 66 65 63 74 65 64 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 .is.effected.by.exercising.right
82da0 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 0a 72 65 73 70 65 63 s.under.this.License.with.respec
82dc0 74 20 74 6f 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 t.to.the.covered.work,.and.you.d
82de0 69 73 63 6c 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 0a 6f isclaim.any.intention.to.limit.o
82e00 70 65 72 61 74 69 6f 6e 20 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 peration.or.modification.of.the.
82e20 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 work.as.a.means.of.enforcing,.ag
82e40 61 69 6e 73 74 0a 74 68 65 20 77 6f 72 6b 27 73 20 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 ainst.the.work's.users,.your.or.
82e60 74 68 69 72 64 20 70 61 72 74 69 65 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 third.parties'.legal.rights.to.f
82e80 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 orbid.circumvention.of.technolog
82ea0 69 63 61 6c 20 6d 65 61 73 75 72 65 73 2e 0a 0a 40 69 74 65 6d 20 43 6f 6e 76 65 79 69 6e 67 20 ical.measures...@item.Conveying.
82ec0 56 65 72 62 61 74 69 6d 20 43 6f 70 69 65 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 Verbatim.Copies...You.may.convey
82ee0 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 .verbatim.copies.of.the.Program'
82f00 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c s.source.code.as.you.receive.it,
82f20 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f .in.any.medium,.provided.that.yo
82f40 75 20 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c u.conspicuously.and.appropriatel
82f60 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 y.publish.on.each.copy.an.approp
82f80 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 riate.copyright.notice;.keep.int
82fa0 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 act.all.notices.stating.that.thi
82fc0 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 s.License.and.any.non-permissive
82fe0 20 74 65 72 6d 73 20 61 64 64 65 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 .terms.added.in.accord.with.sect
83000 69 6f 6e 20 37 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e ion.7.apply.to.the.code;.keep.in
83020 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 tact.all.notices.of.the.absence.
83040 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 of.any.warranty;.and.give.all.re
83060 63 69 70 69 65 6e 74 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 cipients.a.copy.of.this.License.
83080 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 6d 61 79 along.with.the.Program...You.may
830a0 20 63 68 61 72 67 65 20 61 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f .charge.any.price.or.no.price.fo
830c0 72 20 65 61 63 68 20 63 6f 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 r.each.copy.that.you.convey,.and
830e0 20 79 6f 75 20 6d 61 79 20 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e .you.may.offer.support.or.warran
83100 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 40 69 74 65 6d 20 ty.protection.for.a.fee...@item.
83120 43 6f 6e 76 65 79 69 6e 67 20 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f Conveying.Modified.Source.Versio
83140 6e 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 ns...You.may.convey.a.work.based
83160 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 .on.the.Program,.or.the.modifica
83180 74 69 6f 6e 73 20 74 6f 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f tions.to.produce.it.from.the.Pro
831a0 67 72 61 6d 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 gram,.in.the.form.of.source.code
831c0 20 75 6e 64 65 72 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 .under.the.terms.of.section.4,.p
831e0 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f rovided.that.you.also.meet.all.o
83200 66 20 74 68 65 73 65 0a 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 f.these.conditions:..@enumerate.
83220 61 0a 40 69 74 65 6d 0a 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d a.@item.The.work.must.carry.prom
83240 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 79 6f 75 20 6d inent.notices.stating.that.you.m
83260 6f 64 69 66 69 65 64 20 69 74 2c 0a 61 6e 64 20 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e odified.it,.and.giving.a.relevan
83280 74 20 64 61 74 65 2e 0a 0a 40 69 74 65 6d 0a 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 t.date...@item.The.work.must.car
832a0 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 ry.prominent.notices.stating.tha
832c0 74 20 69 74 20 69 73 20 72 65 6c 65 61 73 65 64 0a 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 t.it.is.released.under.this.Lice
832e0 6e 73 65 20 61 6e 64 20 61 6e 79 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 nse.and.any.conditions.added.und
83300 65 72 20 73 65 63 74 69 6f 6e 20 37 2e 20 20 54 68 69 73 0a 72 65 71 75 69 72 65 6d 65 6e 74 20 er.section.7...This.requirement.
83320 6d 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 modifies.the.requirement.in.sect
83340 69 6f 6e 20 34 20 74 6f 20 60 60 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 0a 6e 6f 74 69 63 ion.4.to.``keep.intact.all.notic
83360 65 73 27 27 2e 0a 0a 40 69 74 65 6d 0a 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 es''...@item.You.must.license.th
83380 65 20 65 6e 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 e.entire.work,.as.a.whole,.under
833a0 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 0a 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 .this.License.to.anyone.who.come
833c0 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
833e0 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 0a 74 68 65 72 65 66 6f 72 65 20 61 70 70 6c 79 2c is.License.will.therefore.apply,
83400 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 65 63 74 69 .along.with.any.applicable.secti
83420 6f 6e 20 37 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 0a 74 6f 20 74 68 65 20 77 68 on.7.additional.terms,.to.the.wh
83440 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 20 69 74 73 20 70 61 72 ole.of.the.work,.and.all.its.par
83460 74 73 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 79 0a 61 72 65 20 70 ts,.regardless.of.how.they.are.p
83480 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 67 69 76 65 73 20 6e 6f 20 ackaged...This.License.gives.no.
834a0 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 permission.to.license.the.work.i
834c0 6e 0a 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 n.any.other.way,.but.it.does.not
834e0 20 69 6e 76 61 6c 69 64 61 74 65 20 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 .invalidate.such.permission.if.y
83500 6f 75 20 68 61 76 65 0a 73 65 70 61 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a ou.have.separately.received.it..
83520 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 .@item.If.the.work.has.interacti
83540 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 ve.user.interfaces,.each.must.di
83560 73 70 6c 61 79 0a 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b splay.Appropriate.Legal.Notices;
83580 20 68 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 .however,.if.the.Program.has.int
835a0 65 72 61 63 74 69 76 65 0a 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 eractive.interfaces.that.do.not.
835c0 64 69 73 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 display.Appropriate.Legal.Notice
835e0 73 2c 20 79 6f 75 72 20 77 6f 72 6b 0a 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d 20 s,.your.work.need.not.make.them.
83600 64 6f 20 73 6f 2e 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 20 63 6f 6d 70 69 6c 61 do.so..@end.enumerate..A.compila
83620 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 tion.of.a.covered.work.with.othe
83640 72 20 73 65 70 61 72 61 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 r.separate.and.independent.works
83660 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 ,.which.are.not.by.their.nature.
83680 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a extensions.of.the.covered.work,.
836a0 61 6e 64 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 and.which.are.not.combined.with.
836c0 69 74 20 73 75 63 68 20 61 73 20 74 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 it.such.as.to.form.a.larger.prog
836e0 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 ram,.in.or.on.a.volume.of.a.stor
83700 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 age.or.distribution.medium,.is.c
83720 61 6c 6c 65 64 20 61 6e 0a 60 60 61 67 67 72 65 67 61 74 65 27 27 20 69 66 20 74 68 65 20 63 6f alled.an.``aggregate''.if.the.co
83740 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 mpilation.and.its.resulting.copy
83760 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 right.are.not.used.to.limit.the.
83780 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f access.or.legal.rights.of.the.co
837a0 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 mpilation's.users.beyond.what.th
837c0 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c e.individual.works.permit...Incl
837e0 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 usion.of.a.covered.work.in.an.ag
83800 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 gregate.does.not.cause.this.Lice
83820 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 nse.to.apply.to.the.other.parts.
83840 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 40 69 74 65 6d 20 20 43 6f 6e 76 65 79 of.the.aggregate...@item..Convey
83860 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f 72 6d 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 ing.Non-Source.Forms...You.may.c
83880 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 onvey.a.covered.work.in.object.c
838a0 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0a 73 65 63 74 ode.form.under.the.terms.of.sect
838c0 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 ions.4.and.5,.provided.that.you.
838e0 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 also.convey.the.machine-readable
83900 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 .Corresponding.Source.under.the.
83920 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 20 6f 66 terms.of.this.License,.in.one.of
83940 20 74 68 65 73 65 0a 77 61 79 73 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 61 0a 40 69 74 65 6d .these.ways:..@enumerate.a.@item
83960 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 .Convey.the.object.code.in,.or.e
83980 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 28 mbodied.in,.a.physical.product.(
839a0 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f including.a.physical.distributio
839c0 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 0a 43 6f n.medium),.accompanied.by.the.Co
839e0 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 rresponding.Source.fixed.on.a.du
83a00 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c rable.physical.medium.customaril
83a20 79 0a 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e y.used.for.software.interchange.
83a40 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 ..@item.Convey.the.object.code.i
83a60 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 n,.or.embodied.in,.a.physical.pr
83a80 6f 64 75 63 74 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 oduct.(including.a.physical.dist
83aa0 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 ribution.medium),.accompanied.by
83ac0 20 61 20 77 72 69 74 74 65 6e 0a 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
83ae0 65 61 73 74 20 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 east.three.years.and.valid.for.a
83b00 73 20 6c 6f 6e 67 20 61 73 20 79 6f 75 0a 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 s.long.as.you.offer.spare.parts.
83b20 6f 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f or.customer.support.for.that.pro
83b40 64 75 63 74 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 0a 61 6e 79 6f 6e 65 20 77 68 6f 20 70 duct.model,.to.give.anyone.who.p
83b60 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 65 72 20 ossesses.the.object.code.either.
83b80 28 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 (1).a.copy.of.the.Corresponding.
83ba0 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 20 74 Source.for.all.the.software.in.t
83bc0 68 65 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 he.product.that.is.covered.by.th
83be0 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 is.License,.on.a.durable.physica
83c00 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 0a 66 6f 72 20 73 6f l.medium.customarily.used.for.so
83c20 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 ftware.interchange,.for.a.price.
83c40 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 0a 63 6f 73 no.more.than.your.reasonable.cos
83c60 74 20 6f 66 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 20 t.of.physically.performing.this.
83c80 63 6f 6e 76 65 79 69 6e 67 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 conveying.of.source,.or.(2).acce
83ca0 73 73 0a 74 6f 20 63 6f 70 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 ss.to.copy.the.Corresponding.Sou
83cc0 72 63 65 20 66 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 20 rce.from.a.network.server.at.no.
83ce0 63 68 61 72 67 65 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c charge...@item.Convey.individual
83d00 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 .copies.of.the.object.code.with.
83d20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 77 72 69 74 74 65 6e 0a 6f 66 66 65 72 20 74 6f 20 70 a.copy.of.the.written.offer.to.p
83d40 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e rovide.the.Corresponding.Source.
83d60 20 20 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 61 6c 6c 6f 77 65 64 20 6f 6e ..This.alternative.is.allowed.on
83d80 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 ly.occasionally.and.noncommercia
83da0 6c 6c 79 2c 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 74 68 lly,.and.only.if.you.received.th
83dc0 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 61 6e 20 6f 66 66 65 72 e.object.code.with.such.an.offer
83de0 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 75 62 73 65 63 74 69 6f 6e 0a 36 62 2e 0a ,.in.accord.with.subsection.6b..
83e00 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 62 79 .@item.Convey.the.object.code.by
83e20 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 .offering.access.from.a.designat
83e40 65 64 20 70 6c 61 63 65 0a 28 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 ed.place.(gratis.or.for.a.charge
83e60 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 ),.and.offer.equivalent.access.t
83e80 6f 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 o.the.Corresponding.Source.in.th
83ea0 65 20 73 61 6d 65 20 77 61 79 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 e.same.way.through.the.same.plac
83ec0 65 20 61 74 20 6e 6f 0a 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 e.at.no.further.charge...You.nee
83ee0 64 20 6e 6f 74 20 72 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 d.not.require.recipients.to.copy
83f00 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 .the.Corresponding.Source.along.
83f20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c with.the.object.code...If.the.pl
83f40 61 63 65 20 74 6f 20 63 6f 70 79 0a 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 61 ace.to.copy.the.object.code.is.a
83f60 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .network.server,.the.Correspondi
83f80 6e 67 20 53 6f 75 72 63 65 20 6d 61 79 20 62 65 0a 6f 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 ng.Source.may.be.on.a.different.
83fa0 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 61 20 74 68 69 server.(operated.by.you.or.a.thi
83fc0 72 64 20 70 61 72 74 79 29 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 0a 65 71 75 69 76 61 6c 65 rd.party).that.supports.equivale
83fe0 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 70 72 6f 76 69 64 65 64 20 nt.copying.facilities,.provided.
84000 79 6f 75 20 6d 61 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 63 74 69 6f 6e 73 0a 6e 65 you.maintain.clear.directions.ne
84020 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 73 61 79 69 6e 67 20 77 68 65 xt.to.the.object.code.saying.whe
84040 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 re.to.find.the.Corresponding.Sou
84060 72 63 65 2e 0a 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 rce..Regardless.of.what.server.h
84080 6f 73 74 73 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 osts.the.Corresponding.Source,.y
840a0 6f 75 20 72 65 6d 61 69 6e 0a 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 ou.remain.obligated.to.ensure.th
840c0 61 74 20 69 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 at.it.is.available.for.as.long.a
840e0 73 20 6e 65 65 64 65 64 20 74 6f 0a 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 s.needed.to.satisfy.these.requir
84100 65 6d 65 6e 74 73 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 ements...@item.Convey.the.object
84120 20 63 6f 64 65 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 .code.using.peer-to-peer.transmi
84140 73 73 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 0a 69 6e 66 6f 72 6d 20 6f 74 68 65 72 ssion,.provided.you.inform.other
84160 20 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 .peers.where.the.object.code.and
84180 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 0a 74 68 65 20 77 6f 72 .Corresponding.Source.of.the.wor
841a0 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 6e 65 72 k.are.being.offered.to.the.gener
841c0 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 75 6e 64 65 72 0a 73 75 62 al.public.at.no.charge.under.sub
841e0 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 20 73 section.6d...@end.enumerate..A.s
84200 65 70 61 72 61 62 6c 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 eparable.portion.of.the.object.c
84220 6f 64 65 2c 20 77 68 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 ode,.whose.source.code.is.exclud
84240 65 64 0a 66 72 6f 6d 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 ed.from.the.Corresponding.Source
84260 20 61 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 .as.a.System.Library,.need.not.b
84280 65 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 e.included.in.conveying.the.obje
842a0 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 55 73 65 72 20 50 72 6f 64 75 63 74 27 ct.code.work...A.``User.Product'
842c0 27 20 69 73 20 65 69 74 68 65 72 20 28 31 29 20 61 20 60 60 63 6f 6e 73 75 6d 65 72 20 70 72 6f '.is.either.(1).a.``consumer.pro
842e0 64 75 63 74 27 27 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 duct'',.which.means.any.tangible
84300 20 70 65 72 73 6f 6e 61 6c 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d .personal.property.which.is.norm
84320 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 0a 66 61 6d 69 6c 79 2c 20 ally.used.for.personal,.family,.
84340 6f 72 20 68 6f 75 73 65 68 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e or.household.purposes,.or.(2).an
84360 79 74 68 69 6e 67 20 64 65 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 0a 69 6e 63 6f ything.designed.or.sold.for.inco
84380 72 70 6f 72 61 74 69 6f 6e 20 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 rporation.into.a.dwelling...In.d
843a0 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 etermining.whether.a.product.is.
843c0 61 0a 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 2c 20 64 6f 75 62 74 66 75 6c 20 63 61 73 a.consumer.product,.doubtful.cas
843e0 65 73 20 73 68 61 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 es.shall.be.resolved.in.favor.of
84400 0a 63 6f 76 65 72 61 67 65 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f .coverage...For.a.particular.pro
84420 64 75 63 74 20 72 65 63 65 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 duct.received.by.a.particular.us
84440 65 72 2c 0a 60 60 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 27 27 20 72 65 66 65 72 73 20 74 6f 20 er,.``normally.used''.refers.to.
84460 61 20 74 79 70 69 63 61 6c 20 6f 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 a.typical.or.common.use.of.that.
84480 63 6c 61 73 73 20 6f 66 0a 70 72 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 class.of.product,.regardless.of.
844a0 74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 the.status.of.the.particular.use
844c0 72 20 6f 72 20 6f 66 20 74 68 65 20 77 61 79 0a 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 r.or.of.the.way.in.which.the.par
844e0 74 69 63 75 6c 61 72 20 75 73 65 72 20 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 ticular.user.actually.uses,.or.e
84500 78 70 65 63 74 73 20 6f 72 20 69 73 20 65 78 70 65 63 74 65 64 0a 74 6f 20 75 73 65 2c 20 74 68 xpects.or.is.expected.to.use,.th
84520 65 20 70 72 6f 64 75 63 74 2e 20 20 41 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 e.product...A.product.is.a.consu
84540 6d 65 72 20 70 72 6f 64 75 63 74 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 0a 77 68 65 74 68 65 mer.product.regardless.of.whethe
84560 72 20 74 68 65 20 70 72 6f 64 75 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 20 63 6f r.the.product.has.substantial.co
84580 6d 6d 65 72 63 69 61 6c 2c 20 69 6e 64 75 73 74 72 69 61 6c 20 6f 72 0a 6e 6f 6e 2d 63 6f 6e 73 mmercial,.industrial.or.non-cons
845a0 75 6d 65 72 20 75 73 65 73 2c 20 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 umer.uses,.unless.such.uses.repr
845c0 65 73 65 6e 74 20 74 68 65 20 6f 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 6d 6f 64 65 20 esent.the.only.significant.mode.
845e0 6f 66 20 75 73 65 20 6f 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 60 60 49 6e 73 74 61 6c of.use.of.the.product...``Instal
84600 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 27 27 20 66 6f 72 20 61 20 55 73 65 72 20 lation.Information''.for.a.User.
84620 50 72 6f 64 75 63 74 20 6d 65 61 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 Product.means.any.methods,.proce
84640 64 75 72 65 73 2c 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 dures,.authorization.keys,.or.ot
84660 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 0a 69 6e 73 74 her.information.required.to.inst
84680 61 6c 6c 20 61 6e 64 20 65 78 65 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e all.and.execute.modified.version
846a0 73 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 s.of.a.covered.work.in.that.User
846c0 0a 50 72 6f 64 75 63 74 20 66 72 6f 6d 20 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e .Product.from.a.modified.version
846e0 20 6f 66 20 69 74 73 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 .of.its.Corresponding.Source...T
84700 68 65 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 66 66 69 63 65 20 74 6f 20 65 he.information.must.suffice.to.e
84720 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f nsure.that.the.continued.functio
84740 6e 69 6e 67 20 6f 66 0a 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 ning.of.the.modified.object.code
84760 20 69 73 20 69 6e 20 6e 6f 20 63 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 .is.in.no.case.prevented.or.inte
84780 72 66 65 72 65 64 20 77 69 74 68 0a 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 rfered.with.solely.because.modif
847a0 69 63 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 49 66 20 79 6f 75 20 63 ication.has.been.made...If.you.c
847c0 6f 6e 76 65 79 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 onvey.an.object.code.work.under.
847e0 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 this.section.in,.or.with,.or.spe
84800 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f cifically.for.use.in,.a.User.Pro
84820 64 75 63 74 2c 20 61 6e 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 duct,.and.the.conveying.occurs.a
84840 73 0a 70 61 72 74 20 6f 66 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 s.part.of.a.transaction.in.which
84860 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 .the.right.of.possession.and.use
84880 20 6f 66 20 74 68 65 0a 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 .of.the.User.Product.is.transfer
848a0 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 red.to.the.recipient.in.perpetui
848c0 74 79 20 6f 72 20 66 6f 72 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 ty.or.for.a.fixed.term.(regardle
848e0 73 73 20 6f 66 20 68 6f 77 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 ss.of.how.the.transaction.is.cha
84900 72 61 63 74 65 72 69 7a 65 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 racterized),.the.Corresponding.S
84920 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f ource.conveyed.under.this.sectio
84940 6e 20 6d 75 73 74 20 62 65 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 n.must.be.accompanied.by.the.Ins
84960 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 tallation.Information...But.this
84980 20 72 65 71 75 69 72 65 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e .requirement.does.not.apply.if.n
849a0 65 69 74 68 65 72 20 79 6f 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 either.you.nor.any.third.party.r
849c0 65 74 61 69 6e 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f etains.the.ability.to.install.mo
849e0 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 dified.object.code.on.the.User.P
84a00 72 6f 64 75 63 74 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 roduct.(for.example,.the.work.ha
84a20 73 0a 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 54 68 65 20 72 s.been.installed.in.ROM)...The.r
84a40 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 equirement.to.provide.Installati
84a60 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 on.Information.does.not.include.
84a80 61 0a 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f a.requirement.to.continue.to.pro
84aa0 76 69 64 65 20 73 75 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 vide.support.service,.warranty,.
84ac0 6f 72 0a 75 70 64 61 74 65 73 20 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 or.updates.for.a.work.that.has.b
84ae0 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 een.modified.or.installed.by.the
84b00 0a 72 65 63 69 70 69 65 6e 74 2c 20 6f 72 20 66 6f 72 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 .recipient,.or.for.the.User.Prod
84b20 75 63 74 20 69 6e 20 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 uct.in.which.it.has.been.modifie
84b40 64 20 6f 72 0a 69 6e 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 20 6e 65 74 d.or.installed...Access.to.a.net
84b60 77 6f 72 6b 20 6d 61 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 work.may.be.denied.when.the.modi
84b80 66 69 63 61 74 69 6f 6e 0a 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 20 61 fication.itself.materially.and.a
84ba0 64 76 65 72 73 65 6c 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f dversely.affects.the.operation.o
84bc0 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 0a 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 f.the.network.or.violates.the.ru
84be0 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 les.and.protocols.for.communicat
84c00 69 6f 6e 20 61 63 72 6f 73 73 20 74 68 65 0a 6e 65 74 77 6f 72 6b 2e 0a 0a 43 6f 72 72 65 73 70 ion.across.the.network...Corresp
84c20 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 onding.Source.conveyed,.and.Inst
84c40 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 allation.Information.provided,.i
84c60 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 n.accord.with.this.section.must.
84c80 62 65 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a be.in.a.format.that.is.publicly.
84ca0 64 6f 63 75 6d 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e documented.(and.with.an.implemen
84cc0 74 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 tation.available.to.the.public.i
84ce0 6e 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 n.source.code.form),.and.must.re
84d00 71 75 69 72 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 quire.no.special.password.or.key
84d20 20 66 6f 72 0a 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 .for.unpacking,.reading.or.copyi
84d40 6e 67 2e 0a 0a 40 69 74 65 6d 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 60 60 ng...@item.Additional.Terms...``
84d60 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 27 27 20 61 72 65 20 74 65 72 Additional.permissions''.are.ter
84d80 6d 73 20 74 68 61 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 ms.that.supplement.the.terms.of.
84da0 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e this.License.by.making.exception
84dc0 73 20 66 72 6f 6d 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 s.from.one.or.more.of.its.condit
84de0 69 6f 6e 73 2e 0a 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 ions..Additional.permissions.tha
84e00 74 20 61 72 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 t.are.applicable.to.the.entire.P
84e20 72 6f 67 72 61 6d 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 rogram.shall.be.treated.as.thoug
84e40 68 20 74 68 65 79 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 h.they.were.included.in.this.Lic
84e60 65 6e 73 65 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 ense,.to.the.extent.that.they.ar
84e80 65 20 76 61 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 e.valid.under.applicable.law...I
84ea0 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f f.additional.permissions.apply.o
84ec0 6e 6c 79 20 74 6f 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 nly.to.part.of.the.Program,.that
84ee0 20 70 61 72 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 .part.may.be.used.separately.und
84f00 65 72 20 74 68 6f 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e er.those.permissions,.but.the.en
84f20 74 69 72 65 20 50 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 tire.Program.remains.governed.by
84f40 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 20 .this.License.without.regard.to.
84f60 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 57 68 65 the.additional.permissions...Whe
84f80 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 n.you.convey.a.copy.of.a.covered
84fa0 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 .work,.you.may.at.your.option.re
84fc0 6d 6f 76 65 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 move.any.additional.permissions.
84fe0 66 72 6f 6d 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 from.that.copy,.or.from.any.part
85000 20 6f 66 0a 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 .of.it...(Additional.permissions
85020 20 6d 61 79 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 .may.be.written.to.require.their
85040 20 6f 77 6e 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 .own.removal.in.certain.cases.wh
85060 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 en.you.modify.the.work.)..You.ma
85080 79 20 70 6c 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f y.place.additional.permissions.o
850a0 6e 20 6d 61 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f n.material,.added.by.you.to.a.co
850c0 76 65 72 65 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f vered.work,.for.which.you.have.o
850e0 72 20 63 61 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 r.can.give.appropriate.copyright
85100 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e .permission...Notwithstanding.an
85120 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 y.other.provision.of.this.Licens
85140 65 2c 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 e,.for.material.you.add.to.a.cov
85160 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 ered.work,.you.may.(if.authorize
85180 64 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 0a 6f 66 20 74 68 d.by.the.copyright.holders.of.th
851a0 61 74 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d at.material).supplement.the.term
851c0 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 40 s.of.this.License.with.terms:..@
851e0 65 6e 75 6d 65 72 61 74 65 20 61 0a 40 69 74 65 6d 0a 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 enumerate.a.@item.Disclaiming.wa
85200 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 rranty.or.limiting.liability.dif
85220 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 ferently.from.the.terms.of.secti
85240 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f ons.15.and.16.of.this.License;.o
85260 72 0a 0a 40 69 74 65 6d 0a 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 r..@item.Requiring.preservation.
85280 6f 66 20 73 70 65 63 69 66 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f of.specified.reasonable.legal.no
852a0 74 69 63 65 73 20 6f 72 20 61 75 74 68 6f 72 0a 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 tices.or.author.attributions.in.
852c0 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 that.material.or.in.the.Appropri
852e0 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 0a 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 ate.Legal.Notices.displayed.by.w
85300 6f 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a 50 72 orks.containing.it;.or..@item.Pr
85320 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
85340 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 72 he.origin.of.that.material,.or.r
85360 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 equiring.that.modified.versions.
85380 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 6e 0a 72 65 of.such.material.be.marked.in.re
853a0 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 asonable.ways.as.different.from.
853c0 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a the.original.version;.or..@item.
853e0 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 70 Limiting.the.use.for.publicity.p
85400 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 6f 72 urposes.of.names.of.licensors.or
85420 0a 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 65 72 69 61 6c 3b 20 6f 72 0a 0a 40 69 .authors.of.the.material;.or..@i
85440 74 65 6d 0a 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e tem.Declining.to.grant.rights.un
85460 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d der.trademark.law.for.use.of.som
85480 65 20 74 72 61 64 65 0a 6e 61 6d 65 73 2c 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 e.trade.names,.trademarks,.or.se
854a0 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a 52 65 71 75 69 72 69 6e 67 rvice.marks;.or..@item.Requiring
854c0 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e .indemnification.of.licensors.an
854e0 64 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 62 79 0a 61 6e d.authors.of.that.material.by.an
85500 79 6f 6e 65 20 77 68 6f 20 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f yone.who.conveys.the.material.(o
85520 72 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 74 29 20 77 69 74 68 0a r.modified.versions.of.it).with.
85540 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 contractual.assumptions.of.liabi
85560 6c 69 74 79 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 0a 6c lity.to.the.recipient,.for.any.l
85580 69 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 iability.that.these.contractual.
855a0 61 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 20 74 assumptions.directly.impose.on.t
855c0 68 6f 73 65 0a 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 40 65 6e 64 hose.licensors.and.authors..@end
855e0 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 .enumerate..All.other.non-permis
85600 73 69 76 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 sive.additional.terms.are.consid
85620 65 72 65 64 20 60 60 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 27 27 20 77 69 ered.``further.restrictions''.wi
85640 74 68 69 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 thin.the.meaning.of.section.10..
85660 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 .If.the.Program.as.you.received.
85680 69 74 2c 20 6f 72 20 61 6e 79 20 70 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 it,.or.any.part.of.it,.contains.
856a0 61 20 6e 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 a.notice.stating.that.it.is.gove
856c0 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 rned.by.this.License.along.with.
856e0 61 20 74 65 72 6d 20 74 68 61 74 20 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 a.term.that.is.a.further.restric
85700 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 tion,.you.may.remove.that.term..
85720 20 49 66 20 61 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a .If.a.license.document.contains.
85740 61 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 a.further.restriction.but.permit
85760 73 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 s.relicensing.or.conveying.under
85780 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 .this.License,.you.may.add.to.a.
857a0 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 covered.work.material.governed.b
857c0 79 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 y.the.terms.of.that.license.docu
857e0 6d 65 6e 74 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 ment,.provided.that.the.further.
85800 72 65 73 74 72 69 63 74 69 6f 6e 20 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 restriction.does.not.survive.suc
85820 68 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 49 66 20 h.relicensing.or.conveying...If.
85840 79 6f 75 20 61 64 64 20 74 65 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 you.add.terms.to.a.covered.work.
85860 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 in.accord.with.this.section,.you
85880 0a 6d 75 73 74 20 70 6c 61 63 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 .must.place,.in.the.relevant.sou
858a0 72 63 65 20 66 69 6c 65 73 2c 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 rce.files,.a.statement.of.the.ad
858c0 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f ditional.terms.that.apply.to.tho
858e0 73 65 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 se.files,.or.a.notice.indicating
85900 0a 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 .where.to.find.the.applicable.te
85920 72 6d 73 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 rms...Additional.terms,.permissi
85940 76 65 20 6f 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 ve.or.non-permissive,.may.be.sta
85960 74 65 64 20 69 6e 20 74 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 ted.in.the.form.of.a.separately.
85980 77 72 69 74 74 65 6e 20 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 written.license,.or.stated.as.ex
859a0 63 65 70 74 69 6f 6e 73 3b 20 74 68 65 0a 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ceptions;.the.above.requirements
859c0 20 61 70 70 6c 79 20 65 69 74 68 65 72 20 77 61 79 2e 0a 0a 40 69 74 65 6d 20 54 65 72 6d 69 6e .apply.either.way...@item.Termin
859e0 61 74 69 6f 6e 2e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 ation...You.may.not.propagate.or
85a00 20 6d 6f 64 69 66 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 .modify.a.covered.work.except.as
85a20 20 65 78 70 72 65 73 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c .expressly.provided.under.this.L
85a40 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 icense...Any.attempt.otherwise.t
85a60 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 o.propagate.or.modify.it.is.void
85a80 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 ,.and.will.automatically.termina
85aa0 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 te.your.rights.under.this.Licens
85ac0 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 e.(including.any.patent.licenses
85ae0 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 .granted.under.the.third.paragra
85b00 70 68 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 69 66 20 ph.of.section.11)...However,.if.
85b20 79 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 you.cease.all.violation.of.this.
85b40 4c 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 0a 66 72 6f 6d 20 License,.then.your.license.from.
85b60 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
85b80 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 0a 75 .reinstated.(a).provisionally,.u
85ba0 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f nless.and.until.the.copyright.ho
85bc0 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 66 69 6e 61 6c 6c 79 0a 74 65 72 6d lder.explicitly.and.finally.term
85be0 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 inates.your.license,.and.(b).per
85c00 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 manently,.if.the.copyright.holde
85c20 72 0a 66 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f r.fails.to.notify.you.of.the.vio
85c40 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 lation.by.some.reasonable.means.
85c60 70 72 69 6f 72 20 74 6f 0a 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 prior.to.60.days.after.the.cessa
85c80 74 69 6f 6e 2e 0a 0a 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 tion...Moreover,.your.license.fr
85ca0 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 om.a.particular.copyright.holder
85cc0 20 69 73 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 .is.reinstated.permanently.if.th
85ce0 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 e.copyright.holder.notifies.you.
85d00 6f 66 20 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 of.the.violation.by.some.reasona
85d20 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d ble.means,.this.is.the.first.tim
85d40 65 20 79 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 e.you.have.received.notice.of.vi
85d60 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 olation.of.this.License.(for.any
85d80 20 77 6f 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 .work).from.that.copyright.holde
85da0 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 r,.and.you.cure.the.violation.pr
85dc0 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 ior.to.30.days.after.your.receip
85de0 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 t.of.the.notice...Termination.of
85e00 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 .your.rights.under.this.section.
85e20 64 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 does.not.terminate.the.licenses.
85e40 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 of.parties.who.have.received.cop
85e60 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 ies.or.rights.from.you.under.thi
85e80 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 s.License...If.your.rights.have.
85ea0 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e been.terminated.and.not.permanen
85ec0 74 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 tly.reinstated,.you.do.not.quali
85ee0 66 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 fy.to.receive.new.licenses.for.t
85f00 68 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 he.same.material.under.section.1
85f20 30 2e 0a 0a 40 69 74 65 6d 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 0...@item.Acceptance.Not.Require
85f40 64 20 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 59 6f 75 20 61 72 65 20 6e 6f d.for.Having.Copies...You.are.no
85f60 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 t.required.to.accept.this.Licens
85f80 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 20 72 75 6e 0a 61 20 63 e.in.order.to.receive.or.run.a.c
85fa0 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 opy.of.the.Program...Ancillary.p
85fc0 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 6f 63 63 ropagation.of.a.covered.work.occ
85fe0 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
86000 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f f.using.peer-to-peer.transmissio
86020 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
86040 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
86060 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
86080 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
860a0 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
860c0 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
860e0 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
86100 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
86120 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
86140 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
86160 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 40 69 74 65 6d 20 41 75 this.License.to.do.so...@item.Au
86180 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
861a0 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e 76 65 Recipients...Each.time.you.conve
861c0 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 y.a.covered.work,.the.recipient.
861e0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e 73 65 automatically.receives.a.license
86200 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 74 6f .from.the.original.licensors,.to
86220 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 74 20 .run,.modify.and.propagate.that.
86240 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 work,.subject.to.this.License...
86260 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e 66 6f You.are.not.responsible.for.enfo
86280 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 rcing.compliance.by.third.partie
862a0 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 41 6e 20 60 60 65 6e 74 69 74 s.with.this.License...An.``entit
862c0 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 27 27 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e y.transaction''.is.a.transaction
862e0 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 6f 72 67 61 .transferring.control.of.an.orga
86300 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c 20 61 nization,.or.substantially.all.a
86320 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 6e 0a ssets.of.one,.or.subdividing.an.
86340 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e 69 7a organization,.or.merging.organiz
86360 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 ations...If.propagation.of.a.cov
86380 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 74 79 ered.work.results.from.an.entity
863a0 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 61 74 .transaction,.each.party.to.that
863c0 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f 70 79 .transaction.who.receives.a.copy
863e0 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 74 65 .of.the.work.also.receives.whate
86400 76 65 72 0a 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 61 72 ver.licenses.to.the.work.the.par
86420 74 79 27 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 61 64 ty's.predecessor.in.interest.had
86440 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 .or.could.give.under.the.previou
86460 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 6f 73 s.paragraph,.plus.a.right.to.pos
86480 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 session.of.the.Corresponding.Sou
864a0 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 63 65 rce.of.the.work.from.the.predece
864c0 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 63 65 ssor.in.interest,.if.the.predece
864e0 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 20 72 ssor.has.it.or.can.get.it.with.r
86500 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 easonable.efforts...You.may.not.
86520 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 impose.any.further.restrictions.
86540 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 73 20 67 72 on.the.exercise.of.the.rights.gr
86560 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 anted.or.affirmed.under.this.Lic
86580 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a 6e 6f 74 20 ense...For.example,.you.may.not.
865a0 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 79 2c 20 6f impose.a.license.fee,.royalty,.o
865c0 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 20 6f 66 0a 72 r.other.charge.for.exercise.of.r
865e0 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 ights.granted.under.this.License
86600 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c 69 74 69 67 ,.and.you.may.not.initiate.litig
86620 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 69 6d 20 6f ation.(including.a.cross-claim.o
86640 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 20 61 6c 6c r.counterclaim.in.a.lawsuit).all
86660 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 69 73 20 69 eging.that.any.patent.claim.is.i
86680 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 65 6c 6c 69 nfringed.by.making,.using,.selli
866a0 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d 70 6f 72 74 ng,.offering.for.sale,.or.import
866c0 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 20 6f ing.the.Program.or.any.portion.o
866e0 66 20 69 74 2e 0a 0a 40 69 74 65 6d 20 50 61 74 65 6e 74 73 2e 0a 0a 41 20 60 60 63 6f 6e 74 72 f.it...@item.Patents...A.``contr
86700 69 62 75 74 6f 72 27 27 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 ibutor''.is.a.copyright.holder.w
86720 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 ho.authorizes.use.under.this.Lic
86740 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 6f 6e ense.of.the.Program.or.a.work.on
86760 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e 20 20 54 68 .which.the.Program.is.based...Th
86780 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c 65 64 20 74 e.work.thus.licensed.is.called.t
867a0 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 60 60 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 he.contributor's.``contributor.v
867c0 65 72 73 69 6f 6e 27 27 2e 0a 0a 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 60 60 65 73 73 ersion''...A.contributor's.``ess
867e0 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 27 27 20 61 72 65 20 61 6c 6c 20 70 ential.patent.claims''.are.all.p
86800 61 74 65 6e 74 20 63 6c 61 69 6d 73 20 6f 77 6e 65 64 0a 6f 72 20 63 6f 6e 74 72 6f 6c 6c 65 64 atent.claims.owned.or.controlled
86820 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 6c 72 .by.the.contributor,.whether.alr
86840 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 75 69 eady.acquired.or.hereafter.acqui
86860 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 red,.that.would.be.infringed.by.
86880 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 20 4c some.manner,.permitted.by.this.L
868a0 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 65 6c icense,.of.making,.using,.or.sel
868c0 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a 62 75 ling.its.contributor.version,.bu
868e0 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 6f 75 t.do.not.include.claims.that.wou
86900 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 65 71 ld.be.infringed.only.as.a.conseq
86920 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 uence.of.further.modification.of
86940 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 0a 70 .the.contributor.version...For.p
86960 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 60 60 63 6f urposes.of.this.definition,.``co
86980 6e 74 72 6f 6c 27 27 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ntrol''.includes.the.right.to.gr
869a0 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
869c0 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 er.consistent.with.the.requireme
869e0 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 45 61 63 68 20 63 6f 6e 74 72 nts.of.this.License...Each.contr
86a00 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 ibutor.grants.you.a.non-exclusiv
86a20 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 65 6e e,.worldwide,.royalty-free.paten
86a40 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 t.license.under.the.contributor'
86a60 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a 6d 61 s.essential.patent.claims,.to.ma
86a80 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c 20 69 ke,.use,.sell,.offer.for.sale,.i
86aa0 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 mport.and.otherwise.run,.modify.
86ac0 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 69 74 and.propagate.the.contents.of.it
86ae0 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 49 6e 20 74 68 65 20 66 s.contributor.version...In.the.f
86b00 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 20 60 60 70 ollowing.three.paragraphs,.a.``p
86b20 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 27 27 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 0a 61 atent.license''.is.any.express.a
86b40 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 72 20 greement.or.commitment,.however.
86b60 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 denominated,.not.to.enforce.a.pa
86b80 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 73 73 tent.(such.as.an.express.permiss
86ba0 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f 76 65 ion.to.practice.a.patent.or.cove
86bc0 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 72 69 nant.not.to.sue.for.patent.infri
86be0 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 60 60 67 72 61 6e 74 27 27 20 73 75 63 68 20 61 20 70 ngement)...To.``grant''.such.a.p
86c00 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
86c20 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
86c40 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
86c60 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 gainst.the.party...If.you.convey
86c80 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 .a.covered.work,.knowingly.relyi
86ca0 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 65 20 ng.on.a.patent.license,.and.the.
86cc0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b Corresponding.Source.of.the.work
86ce0 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 6f 20 .is.not.available.for.anyone.to.
86d00 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 20 74 copy,.free.of.charge.and.under.t
86d20 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f 75 67 he.terms.of.this.License,.throug
86d40 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b 20 73 h.a.publicly.available.network.s
86d60 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c erver.or.other.readily.accessibl
86d80 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 e.means,.then.you.must.either.(1
86da0 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 ).cause.the.Corresponding.Source
86dc0 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 72 61 .to.be.so.available,.or.(2).arra
86de0 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 20 62 nge.to.deprive.yourself.of.the.b
86e00 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 enefit.of.the.patent.license.for
86e20 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 61 72 .this.particular.work,.or.(3).ar
86e40 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 range,.in.a.manner.consistent.wi
86e60 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 th.the.requirements.of.this.Lice
86e80 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 nse,.to.extend.the.patent.licens
86ea0 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 60 60 4b e.to.downstream.recipients...``K
86ec0 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 27 27 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 nowingly.relying''.means.you.hav
86ee0 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
86f00 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 .the.patent.license,.your.convey
86f20 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
86f40 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
86f60 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
86f80 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
86fa0 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
86fc0 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
86fe0 20 76 61 6c 69 64 2e 0a 0a 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e 20 63 .valid...If,.pursuant.to.or.in.c
87000 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 63 74 onnection.with.a.single.transact
87020 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 2c 20 ion.or.arrangement,.you.convey,.
87040 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 65 79 or.propagate.by.procuring.convey
87060 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 ance.of,.a.covered.work,.and.gra
87080 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 20 74 nt.a.patent.license.to.some.of.t
870a0 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 he.parties.receiving.the.covered
870c0 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c 20 70 .work.authorizing.them.to.use,.p
870e0 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 70 65 ropagate,.modify.or.convey.a.spe
87100 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 cific.copy.of.the.covered.work,.
87120 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 61 6e then.the.patent.license.you.gran
87140 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f 20 61 t.is.automatically.extended.to.a
87160 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 6f 72 ll.recipients.of.the.covered.wor
87180 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 41 20 70 61 74 65 k.and.works.based.on.it...A.pate
871a0 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 60 60 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 27 27 nt.license.is.``discriminatory''
871c0 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e 20 74 .if.it.does.not.include.within.t
871e0 68 65 0a 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 69 62 he.scope.of.its.coverage,.prohib
87200 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 20 63 6f 6e 64 69 its.the.exercise.of,.or.is.condi
87220 74 69 6f 6e 65 64 20 6f 6e 0a 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 6f 6e tioned.on.the.non-exercise.of.on
87240 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 20 61 72 65 e.or.more.of.the.rights.that.are
87260 20 73 70 65 63 69 66 69 63 61 6c 6c 79 0a 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 .specifically.granted.under.this
87280 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 61 20 .License...You.may.not.convey.a.
872a0 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f 75 0a 61 72 65 20 61 20 70 61 72 74 79 20 covered.work.if.you.are.a.party.
872c0 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 20 70 to.an.arrangement.with.a.third.p
872e0 61 72 74 79 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 0a 62 75 73 69 6e 65 73 73 20 6f 66 20 arty.that.is.in.the.business.of.
87300 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 68 69 distributing.software,.under.whi
87320 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 20 74 6f 20 74 68 65 0a 74 68 69 72 64 ch.you.make.payment.to.the.third
87340 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 79 6f .party.based.on.the.extent.of.yo
87360 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 0a 77 6f 72 ur.activity.of.conveying.the.wor
87380 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 61 72 k,.and.under.which.the.third.par
873a0 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 ty.grants,.to.any.of.the.parties
873c0 0a 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 .who.would.receive.the.covered.w
873e0 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 20 70 ork.from.you,.a.discriminatory.p
87400 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 atent.license.(a).in.connection.
87420 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 with.copies.of.the.covered.work.
87440 63 6f 6e 76 65 79 65 64 20 62 79 0a 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 65 20 conveyed.by.you.(or.copies.made.
87460 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 6d 61 from.those.copies),.or.(b).prima
87480 72 69 6c 79 20 66 6f 72 20 61 6e 64 20 69 6e 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 rily.for.and.in.connection.with.
874a0 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e specific.products.or.compilation
874c0 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c s.that.contain.the.covered.work,
874e0 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 61 72 .unless.you.entered.into.that.ar
87500 72 61 6e 67 65 6d 65 6e 74 2c 20 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 rangement,.or.that.patent.licens
87520 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 e.was.granted,.prior.to.28.March
87540 20 32 30 30 37 2e 0a 0a 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 .2007...Nothing.in.this.License.
87560 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 69 6e 67 20 shall.be.construed.as.excluding.
87580 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 6e 73 65 20 or.limiting.any.implied.license.
875a0 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 65 6d 65 6e or.other.defenses.to.infringemen
875c0 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 6c 61 62 6c t.that.may.otherwise.be.availabl
875e0 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 74 65 6e 74 e.to.you.under.applicable.patent
87600 20 6c 61 77 2e 0a 0a 40 69 74 65 6d 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 20 4f 74 68 .law...@item.No.Surrender.of.Oth
87620 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 49 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 ers'.Freedom...If.conditions.are
87640 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 20 63 6f 75 72 .imposed.on.you.(whether.by.cour
87660 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 77 69 73 65 29 t.order,.agreement.or.otherwise)
87680 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 .that.contradict.the.conditions.
876a0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f 74 0a 65 78 63 of.this.License,.they.do.not.exc
876c0 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 use.you.from.the.conditions.of.t
876e0 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 20 63 6f 6e 76 his.License...If.you.cannot.conv
87700 65 79 0a 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 ey.a.covered.work.so.as.to.satis
87720 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f fy.simultaneously.your.obligatio
87740 6e 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 ns.under.this.License.and.any.ot
87760 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 her.pertinent.obligations,.then.
87780 61 73 20 61 0a 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e as.a.consequence.you.may.not.con
877a0 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 vey.it.at.all...For.example,.if.
877c0 79 6f 75 20 61 67 72 65 65 0a 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 6c 69 67 61 74 65 you.agree.to.terms.that.obligate
877e0 20 79 6f 75 20 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 66 6f 72 20 66 75 .you.to.collect.a.royalty.for.fu
87800 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 0a 66 72 6f 6d 20 74 68 6f 73 65 20 74 6f 20 77 68 rther.conveying.from.those.to.wh
87820 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 6f om.you.convey.the.Program,.the.o
87840 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 0a 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 nly.way.you.could.satisfy.both.t
87860 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c hose.terms.and.this.License.woul
87880 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 0a 66 72 6f 6d 20 63 6f d.be.to.refrain.entirely.from.co
878a0 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 40 69 74 65 6d 20 55 73 65 20 nveying.the.Program...@item.Use.
878c0 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c with.the.GNU.Affero.General.Publ
878e0 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 ic.License...Notwithstanding.any
87900 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 .other.provision.of.this.License
87920 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 6e 6b 20 6f 72 ,.you.have.permission.to.link.or
87940 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 61 .combine.any.covered.work.with.a
87960 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f .work.licensed.under.version.3.o
87980 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 f.the.GNU.Affero.General.Public.
879a0 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f 6d 62 69 6e 65 64 20 77 License.into.a.single.combined.w
879c0 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ork,.and.to.convey.the.resulting
879e0 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c 69 63 65 6e 73 .work...The.terms.of.this.Licens
87a00 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 e.will.continue.to.apply.to.the.
87a20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a part.which.is.the.covered.work,.
87a40 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 but.the.special.requirements.of.
87a60 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 the.GNU.Affero.General.Public.Li
87a80 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e 69 6e 67 20 69 6e cense,.section.13,.concerning.in
87aa0 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 6f 72 6b 20 77 69 6c 6c teraction.through.a.network.will
87ac0 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 73 20 73 75 63 .apply.to.the.combination.as.suc
87ae0 68 2e 0a 0a 40 69 74 65 6d 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 h...@item.Revised.Versions.of.th
87b00 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 is.License...The.Free.Software.F
87b20 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
87b40 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e d/or.new.versions.of.the.GNU.Gen
87b60 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f eral.Public.License.from.time.to
87b80 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 62 .time...Such.new.versions.will.b
87ba0 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 e.similar.in.spirit.to.the.prese
87bc0 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 64 69 66 66 65 72 20 69 6e 20 64 65 nt.version,.but.may.differ.in.de
87be0 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 tail.to.address.new.problems.or.
87c00 63 6f 6e 63 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e concerns...Each.version.is.given
87c20 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 .a.distinguishing.version.number
87c40 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 74 68 61 74 ...If.the.Program.specifies.that
87c60 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 .a.certain.numbered.version.of.t
87c80 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 60 60 he.GNU.General.Public.License.``
87ca0 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 27 27 20 61 70 70 6c 69 65 73 20 74 or.any.later.version''.applies.t
87cc0 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 0a 66 6f 6c o.it,.you.have.the.option.of.fol
87ce0 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 lowing.the.terms.and.conditions.
87d00 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 either.of.that.numbered.version.
87d20 6f 72 0a 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 or.of.any.later.version.publishe
87d40 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f d.by.the.Free.Software.Foundatio
87d60 6e 2e 20 20 49 66 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 n...If.the.Program.does.not.spec
87d80 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 47 4e 55 20 ify.a.version.number.of.the.GNU.
87da0 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 General.Public.License,.you.may.
87dc0 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 choose.any.version.ever.publishe
87de0 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f d.by.the.Free.Software.Foundatio
87e00 6e 2e 0a 0a 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 n...If.the.Program.specifies.tha
87e20 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 t.a.proxy.can.decide.which.futur
87e40 65 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 e.versions.of.the.GNU.General.Pu
87e60 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 20 70 blic.License.can.be.used,.that.p
87e80 72 6f 78 79 27 73 20 70 75 62 6c 69 63 0a 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 roxy's.public.statement.of.accep
87ea0 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 tance.of.a.version.permanently.a
87ec0 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 0a 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 uthorizes.you.to.choose.that.ver
87ee0 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 4c 61 74 65 72 20 6c 69 63 sion.for.the.Program...Later.lic
87f00 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 ense.versions.may.give.you.addit
87f20 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 ional.or.different.permissions..
87f40 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 .However,.no.additional.obligati
87f60 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 ons.are.imposed.on.any.author.or
87f80 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 .copyright.holder.as.a.result.of
87fa0 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 .your.choosing.to.follow.a.later
87fc0 20 76 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 44 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 .version...@item.Disclaimer.of.W
87fe0 61 72 72 61 6e 74 79 2e 0a 0a 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 arranty...THERE.IS.NO.WARRANTY.F
88000 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 OR.THE.PROGRAM,.TO.THE.EXTENT.PE
88020 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 40 2e 20 20 45 58 43 RMITTED.BY.APPLICABLE.LAW@...EXC
88040 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 EPT.WHEN.OTHERWISE.STATED.IN.WRI
88060 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f TING.THE.COPYRIGHT.HOLDERS.AND/O
88080 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 R.OTHER.PARTIES.PROVIDE.THE.PROG
880a0 52 41 4d 20 60 60 41 53 20 49 53 27 27 20 57 49 54 48 4f 55 54 0a 57 41 52 52 41 4e 54 59 20 4f RAM.``AS.IS''.WITHOUT.WARRANTY.O
880c0 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 20 4f 52 20 F.ANY.KIND,.EITHER.EXPRESSED.OR.
880e0 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 0a 4c 49 4d 49 IMPLIED,.INCLUDING,.BUT.NOT.LIMI
88100 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f TED.TO,.THE.IMPLIED.WARRANTIES.O
88120 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f F.MERCHANTABILITY.AND.FITNESS.FO
88140 52 0a 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 40 2e 20 20 54 48 45 20 45 4e R.A.PARTICULAR.PURPOSE@...THE.EN
88160 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 0a TIRE.RISK.AS.TO.THE.QUALITY.AND.
88180 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 PERFORMANCE.OF.THE.PROGRAM.IS.WI
881a0 54 48 20 59 4f 55 40 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 50 52 4f 47 52 41 4d 20 50 52 4f TH.YOU@...SHOULD.THE.PROGRAM.PRO
881c0 56 45 0a 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 VE.DEFECTIVE,.YOU.ASSUME.THE.COS
881e0 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 20 52 45 T.OF.ALL.NECESSARY.SERVICING,.RE
88200 50 41 49 52 20 4f 52 0a 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 40 69 74 65 6d 20 4c 69 6d 69 74 PAIR.OR.CORRECTION...@item.Limit
88220 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a 49 4e 20 4e 4f 20 45 56 45 4e 54 ation.of.Liability...IN.NO.EVENT
88240 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c .UNLESS.REQUIRED.BY.APPLICABLE.L
88260 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 AW.OR.AGREED.TO.IN.WRITING.WILL.
88280 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 ANY.COPYRIGHT.HOLDER,.OR.ANY.OTH
882a0 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 20 41 4e 44 2f 4f 52 0a 43 4f 4e ER.PARTY.WHO.MODIFIES.AND/OR.CON
882c0 56 45 59 53 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 VEYS.THE.PROGRAM.AS.PERMITTED.AB
882e0 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 OVE,.BE.LIABLE.TO.YOU.FOR.DAMAGE
88300 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 S,.INCLUDING.ANY.GENERAL,.SPECIA
88320 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 L,.INCIDENTAL.OR.CONSEQUENTIAL.D
88340 41 4d 41 47 45 53 0a 41 52 49 53 49 4e 47 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 AMAGES.ARISING.OUT.OF.THE.USE.OR
88360 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 .INABILITY.TO.USE.THE.PROGRAM.(I
88380 4e 43 4c 55 44 49 4e 47 20 42 55 54 0a 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 NCLUDING.BUT.NOT.LIMITED.TO.LOSS
883a0 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 .OF.DATA.OR.DATA.BEING.RENDERED.
883c0 49 4e 41 43 43 55 52 41 54 45 20 4f 52 0a 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 INACCURATE.OR.LOSSES.SUSTAINED.B
883e0 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c Y.YOU.OR.THIRD.PARTIES.OR.A.FAIL
88400 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 0a 54 4f 20 4f 50 45 52 41 54 45 20 57 49 URE.OF.THE.PROGRAM.TO.OPERATE.WI
88420 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 TH.ANY.OTHER.PROGRAMS),.EVEN.IF.
88440 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 0a 50 41 52 54 59 20 48 41 53 20 42 SUCH.HOLDER.OR.OTHER.PARTY.HAS.B
88460 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f EEN.ADVISED.OF.THE.POSSIBILITY.O
88480 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 40 69 74 65 6d 20 49 6e 74 65 72 70 72 65 74 F.SUCH.DAMAGES...@item.Interpret
884a0 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 2e 0a 0a 49 66 ation.of.Sections.15.and.16...If
884c0 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 .the.disclaimer.of.warranty.and.
884e0 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 limitation.of.liability.provided
88500 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 .above.cannot.be.given.local.leg
88520 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 al.effect.according.to.their.ter
88540 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 ms,.reviewing.courts.shall.apply
88560 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 .local.law.that.most.closely.app
88580 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 roximates.an.absolute.waiver.of.
885a0 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f all.civil.liability.in.connectio
885c0 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 n.with.the.Program,.unless.a.war
885e0 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 ranty.or.assumption.of.liability
88600 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 .accompanies.a.copy.of.the.Progr
88620 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 40 65 6e 64 20 65 6e am.in.return.for.a.fee...@end.en
88640 75 6d 65 72 61 74 65 0a 0a 40 68 65 61 64 69 6e 67 20 45 4e 44 20 4f 46 20 54 45 52 4d 53 20 41 umerate..@heading.END.OF.TERMS.A
88660 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 40 68 65 61 64 69 6e 67 20 48 6f 77 20 74 6f 20 41 ND.CONDITIONS..@heading.How.to.A
88680 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f pply.These.Terms.to.Your.New.Pro
886a0 67 72 61 6d 73 0a 0a 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 grams..If.you.develop.a.new.prog
886c0 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 ram,.and.you.want.it.to.be.of.th
886e0 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 e.greatest.possible.use.to.the.p
88700 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 ublic,.the.best.way.to.achieve.t
88720 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 his.is.to.make.it.free.software.
88740 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 which.everyone.can.redistribute.
88760 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 65 0a 74 65 72 6d 73 2e 0a 0a 54 and.change.under.these.terms...T
88780 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f o.do.so,.attach.the.following.no
887a0 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 tices.to.the.program...It.is.saf
887c0 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 est.to.attach.them.to.the.start.
887e0 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 of.each.source.file.to.most.effe
88800 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 ctively.state.the.exclusion.of.w
88820 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 arranty;.and.each.file.should.ha
88840 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 60 60 63 6f 70 79 72 69 67 68 74 27 27 20 6c 69 ve.at.least.the.``copyright''.li
88860 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 ne.and.a.pointer.to.where.the.fu
88880 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 40 73 6d 61 6c 6c 65 78 61 6d 70 ll.notice.is.found...@smallexamp
888a0 6c 65 0a 40 76 61 72 7b 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f le.@var{one.line.to.give.the.pro
888c0 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 gram's.name.and.a.brief.idea.of.
888e0 77 68 61 74 20 69 74 20 64 6f 65 73 2e 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 40 76 61 what.it.does.}.Copyright.(C).@va
88900 72 7b 79 65 61 72 7d 20 40 76 61 72 7b 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 7d 0a 0a 54 68 r{year}.@var{name.of.author}..Th
88920 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 is.program.is.free.software:.you
88940 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 .can.redistribute.it.and/or.modi
88960 66 79 0a 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 fy.it.under.the.terms.of.the.GNU
88980 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
889a0 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 shed.by.the.Free.Software.Founda
889c0 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 tion,.either.version.3.of.the.Li
889e0 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 0a 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c cense,.or.(at.your.option).any.l
88a00 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 ater.version...This.program.is.d
88a20 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
88a40 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 0a 57 49 54 48 4f 55 54 20 41 4e 59 20 57 ill.be.useful,.but.WITHOUT.ANY.W
88a60 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 ARRANTY;.without.even.the.implie
88a80 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 d.warranty.of.MERCHANTABILITY.or
88aa0 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
88ac0 45 40 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 E@...See.the.GNU.General.Public.
88ae0 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 License.for.more.details...You.s
88b00 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 hould.have.received.a.copy.of.th
88b20 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f e.GNU.General.Public.License.alo
88b40 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 ng.with.this.program...If.not,.s
88b60 65 65 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 ee.@url{https://www.gnu.org/lice
88b80 6e 73 65 73 2f 7d 2e 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 41 6c 73 6f 20 nses/}..@end.smallexample..Also.
88ba0 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 add.information.on.how.to.contac
88bc0 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 t.you.by.electronic.and.paper.ma
88be0 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 il...If.the.program.does.termina
88c00 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 l.interaction,.make.it.output.a.
88c20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 short.notice.like.this.when.it.s
88c40 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 40 tarts.in.an.interactive.mode:..@
88c60 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 40 76 61 72 7b 70 72 6f 67 72 61 6d 7d 20 43 6f 70 79 72 smallexample.@var{program}.Copyr
88c80 69 67 68 74 20 28 43 29 20 40 76 61 72 7b 79 65 61 72 7d 20 40 76 61 72 7b 6e 61 6d 65 20 6f 66 ight.(C).@var{year}.@var{name.of
88ca0 20 61 75 74 68 6f 72 7d 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 74 68 .author}.This.program.comes.with
88cc0 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 .ABSOLUTELY.NO.WARRANTY;.for.det
88ce0 61 69 6c 73 20 74 79 70 65 20 40 73 61 6d 70 7b 73 68 6f 77 20 77 7d 2e 0a 54 68 69 73 20 69 73 ails.type.@samp{show.w}..This.is
88d00 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 .free.software,.and.you.are.welc
88d20 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 75 6e 64 65 72 20 63 65 72 ome.to.redistribute.it.under.cer
88d40 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 40 73 61 6d 70 7b 73 68 6f 77 tain.conditions;.type.@samp{show
88d60 20 63 7d 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 .c}.for.details..@end.smallexamp
88d80 6c 65 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 40 73 le..The.hypothetical.commands.@s
88da0 61 6d 70 7b 73 68 6f 77 20 77 7d 20 61 6e 64 20 40 73 61 6d 70 7b 73 68 6f 77 20 63 7d 20 73 68 amp{show.w}.and.@samp{show.c}.sh
88dc0 6f 75 6c 64 20 73 68 6f 77 0a 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 74 73 20 ould.show.the.appropriate.parts.
88de0 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 of.the.General.Public.License...
88e00 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 27 73 20 63 6f 6d 6d 61 6e Of.course,.your.program's.comman
88e20 64 73 20 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 20 47 55 49 ds.might.be.different;.for.a.GUI
88e40 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 73 65 20 61 6e 20 60 60 61 .interface,.you.would.use.an.``a
88e60 62 6f 75 74 20 62 6f 78 27 27 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 bout.box''...You.should.also.get
88e80 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 .your.employer.(if.you.work.as.a
88ea0 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 6e 79 2c 20 .programmer).or.school,.if.any,.
88ec0 74 6f 20 73 69 67 6e 20 61 20 60 60 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 to.sign.a.``copyright.disclaimer
88ee0 27 27 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 72 79 ''.for.the.program,.if.necessary
88f00 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2c 20 ..For.more.information.on.this,.
88f20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 65 20 and.how.to.apply.and.follow.the.
88f40 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e GNU.GPL,.see.@url{https://www.gn
88f60 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 7d 2e 0a 0a 54 68 65 20 47 4e 55 20 47 65 6e 65 72 u.org/licenses/}...The.GNU.Gener
88f80 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
88fa0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 20 69 6e 74 t.incorporating.your.program.int
88fc0 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
88fe0 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 0a 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
89000 2c 20 79 6f 75 20 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
89020 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 0a l.to.permit.linking.proprietary.
89040 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
89060 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
89080 75 73 65 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
890a0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
890c0 65 2e 20 20 42 75 74 0a 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 20 40 75 72 6c 7b e...But.first,.please.read.@url{
890e0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 77 68 79 https://www.gnu.org/licenses/why
89100 2d 6e 6f 74 2d 6c 67 70 6c 2e 68 74 6d 6c 7d 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -not-lgpl.html}.................
89120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
891a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
891c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
891e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89200 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 6f 63 2f 66 64 6c 2e 74 65 78 69 00 00 00 00 00 00 00 00 dash-2.20.0/doc/fdl.texi........
89220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
89280 30 30 35 35 36 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 33 36 37 00 20 30 00 00 00 0055612.00000000000.013367..0...
892a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
892c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
892e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
89320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
89340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
893a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
893c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
893e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89400 40 63 20 54 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 @c.The.GNU.Free.Documentation.Li
89420 63 65 6e 73 65 2e 0a 40 63 65 6e 74 65 72 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c 20 33 20 4e 6f cense..@center.Version.1.3,.3.No
89440 76 65 6d 62 65 72 20 32 30 30 38 0a 0a 40 63 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 69 6e 74 vember.2008..@c.This.file.is.int
89460 65 6e 64 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 61 6e 6f 74 ended.to.be.included.within.anot
89480 68 65 72 20 64 6f 63 75 6d 65 6e 74 2c 0a 40 63 20 68 65 6e 63 65 20 6e 6f 20 73 65 63 74 69 6f her.document,.@c.hence.no.sectio
894a0 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 40 6e 6f 64 65 2e 0a 0a 40 64 69 73 70 6c 61 79 ning.command.or.@node...@display
894c0 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 30 30 2c 20 32 30 .Copyright.@copyright{}.2000,.20
894e0 30 31 2c 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 20 46 72 65 65 20 53 6f 66 74 77 61 01,.2002,.2007,.2008.Free.Softwa
89500 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 40 75 72 65 66 7b 68 74 74 70 73 3a re.Foundation,.Inc..@uref{https:
89520 2f 2f 66 73 66 2e 6f 72 67 2f 7d 0a 0a 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 //fsf.org/}..Everyone.is.permitt
89540 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 ed.to.copy.and.distribute.verbat
89560 69 6d 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 im.copies.of.this.license.docume
89580 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 nt,.but.changing.it.is.not.allow
895a0 65 64 2e 0a 40 65 6e 64 20 64 69 73 70 6c 61 79 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 30 0a 40 ed..@end.display..@enumerate.0.@
895c0 69 74 65 6d 0a 50 52 45 41 4d 42 4c 45 0a 0a 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 item.PREAMBLE..The.purpose.of.th
895e0 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 74 6f 20 6d 61 6b 65 20 61 20 6d 61 6e 75 61 6c 2c 20 is.License.is.to.make.a.manual,.
89600 74 65 78 74 62 6f 6f 6b 2c 20 6f 72 20 6f 74 68 65 72 0a 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e textbook,.or.other.functional.an
89620 64 20 75 73 65 66 75 6c 20 64 6f 63 75 6d 65 6e 74 20 40 64 66 6e 7b 66 72 65 65 7d 20 69 6e 20 d.useful.document.@dfn{free}.in.
89640 74 68 65 20 73 65 6e 73 65 20 6f 66 20 66 72 65 65 64 6f 6d 3a 20 74 6f 0a 61 73 73 75 72 65 20 the.sense.of.freedom:.to.assure.
89660 65 76 65 72 79 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 66 72 65 65 64 6f 6d 20 74 everyone.the.effective.freedom.t
89680 6f 20 63 6f 70 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2c 0a 77 69 74 68 o.copy.and.redistribute.it,.with
896a0 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2c 20 65 69 74 68 65 72 .or.without.modifying.it,.either
896c0 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 .commercially.or.noncommercially
896e0 2e 0a 53 65 63 6f 6e 64 61 72 69 6c 79 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 70 72 65 73 ..Secondarily,.this.License.pres
89700 65 72 76 65 73 20 66 6f 72 20 74 68 65 20 61 75 74 68 6f 72 20 61 6e 64 20 70 75 62 6c 69 73 68 erves.for.the.author.and.publish
89720 65 72 20 61 20 77 61 79 0a 74 6f 20 67 65 74 20 63 72 65 64 69 74 20 66 6f 72 20 74 68 65 69 72 er.a.way.to.get.credit.for.their
89740 20 77 6f 72 6b 2c 20 77 68 69 6c 65 20 6e 6f 74 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 .work,.while.not.being.considere
89760 64 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 d.responsible.for.modifications.
89780 6d 61 64 65 20 62 79 20 6f 74 68 65 72 73 2e 0a 0a 54 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 made.by.others...This.License.is
897a0 20 61 20 6b 69 6e 64 20 6f 66 20 60 60 63 6f 70 79 6c 65 66 74 27 27 2c 20 77 68 69 63 68 20 6d .a.kind.of.``copyleft'',.which.m
897c0 65 61 6e 73 20 74 68 61 74 20 64 65 72 69 76 61 74 69 76 65 0a 77 6f 72 6b 73 20 6f 66 20 74 68 eans.that.derivative.works.of.th
897e0 65 20 64 6f 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 65 6c 76 65 73 20 62 65 20 66 72 e.document.must.themselves.be.fr
89800 65 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e 20 20 49 74 0a 63 6f 6d 70 6c 65 ee.in.the.same.sense...It.comple
89820 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ments.the.GNU.General.Public.Lic
89840 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 70 79 6c 65 66 74 0a 6c 69 63 65 6e 73 ense,.which.is.a.copyleft.licens
89860 65 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 57 e.designed.for.free.software...W
89880 65 20 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 e.have.designed.this.License.in.
898a0 6f 72 64 65 72 20 74 6f 20 75 73 65 20 69 74 20 66 6f 72 20 6d 61 6e 75 61 6c 73 20 66 6f 72 20 order.to.use.it.for.manuals.for.
898c0 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2c 20 62 65 63 61 75 73 65 20 66 72 65 65 20 73 6f 66 74 free.software,.because.free.soft
898e0 77 61 72 65 20 6e 65 65 64 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 61 ware.needs.free.documentation:.a
89900 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 68 20 6d .free.program.should.come.with.m
89920 61 6e 75 61 6c 73 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 72 65 65 64 6f anuals.providing.the.same.freedo
89940 6d 73 20 74 68 61 74 20 74 68 65 0a 73 6f 66 74 77 61 72 65 20 64 6f 65 73 2e 20 20 42 75 74 20 ms.that.the.software.does...But.
89960 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 73 this.License.is.not.limited.to.s
89980 6f 66 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 0a 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 oftware.manuals;.it.can.be.used.
899a0 66 6f 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 6b 2c 20 72 65 67 61 72 64 6c 65 73 73 for.any.textual.work,.regardless
899c0 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 74 74 65 72 20 6f 72 0a 77 68 65 74 68 65 72 20 69 74 .of.subject.matter.or.whether.it
899e0 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 72 69 6e 74 65 64 20 62 6f 6f 6b 2e .is.published.as.a.printed.book.
89a00 20 20 57 65 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 70 72 69 6e ..We.recommend.this.License.prin
89a20 63 69 70 61 6c 6c 79 20 66 6f 72 20 77 6f 72 6b 73 20 77 68 6f 73 65 20 70 75 72 70 6f 73 65 20 cipally.for.works.whose.purpose.
89a40 69 73 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 0a 0a 40 69 is.instruction.or.reference...@i
89a60 74 65 6d 0a 41 50 50 4c 49 43 41 42 49 4c 49 54 59 20 41 4e 44 20 44 45 46 49 4e 49 54 49 4f 4e tem.APPLICABILITY.AND.DEFINITION
89a80 53 0a 0a 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 6d S..This.License.applies.to.any.m
89aa0 61 6e 75 61 6c 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 anual.or.other.work,.in.any.medi
89ac0 75 6d 2c 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 um,.that.contains.a.notice.place
89ae0 64 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 d.by.the.copyright.holder.saying
89b00 20 69 74 20 63 61 6e 20 62 65 0a 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 .it.can.be.distributed.under.the
89b20 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 53 75 63 68 20 61 20 .terms.of.this.License...Such.a.
89b40 6e 6f 74 69 63 65 20 67 72 61 6e 74 73 20 61 0a 77 6f 72 6c 64 2d 77 69 64 65 2c 20 72 6f 79 61 notice.grants.a.world-wide,.roya
89b60 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c 20 75 6e 6c 69 6d 69 74 65 64 20 69 6e 20 64 lty-free.license,.unlimited.in.d
89b80 75 72 61 74 69 6f 6e 2c 20 74 6f 20 75 73 65 20 74 68 61 74 0a 77 6f 72 6b 20 75 6e 64 65 72 20 uration,.to.use.that.work.under.
89ba0 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 68 65 72 65 69 6e 2e 20 20 54 the.conditions.stated.herein...T
89bc0 68 65 20 60 60 44 6f 63 75 6d 65 6e 74 27 27 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 he.``Document'',.below,.refers.t
89be0 6f 20 61 6e 79 20 73 75 63 68 20 6d 61 6e 75 61 6c 20 6f 72 20 77 6f 72 6b 2e 20 20 41 6e 79 20 o.any.such.manual.or.work...Any.
89c00 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 70 75 62 6c 69 63 20 69 73 20 61 0a 6c 69 63 65 6e 73 member.of.the.public.is.a.licens
89c20 65 65 2c 20 61 6e 64 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 60 60 79 6f 75 27 27 2e ee,.and.is.addressed.as.``you''.
89c40 20 20 59 6f 75 20 61 63 63 65 70 74 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 66 20 79 6f 75 0a ..You.accept.the.license.if.you.
89c60 63 6f 70 79 2c 20 6d 6f 64 69 66 79 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 77 copy,.modify.or.distribute.the.w
89c80 6f 72 6b 20 69 6e 20 61 20 77 61 79 20 72 65 71 75 69 72 69 6e 67 20 70 65 72 6d 69 73 73 69 6f ork.in.a.way.requiring.permissio
89ca0 6e 0a 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 41 20 60 60 4d 6f 64 69 n.under.copyright.law...A.``Modi
89cc0 66 69 65 64 20 56 65 72 73 69 6f 6e 27 27 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d fied.Version''.of.the.Document.m
89ce0 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 44 6f 63 eans.any.work.containing.the.Doc
89d00 75 6d 65 6e 74 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 20 65 69 74 68 65 72 ument.or.a.portion.of.it,.either
89d20 20 63 6f 70 69 65 64 20 76 65 72 62 61 74 69 6d 2c 20 6f 72 20 77 69 74 68 0a 6d 6f 64 69 66 69 .copied.verbatim,.or.with.modifi
89d40 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 cations.and/or.translated.into.a
89d60 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 41 20 60 60 53 65 63 6f 6e 64 61 72 79 20 nother.language...A.``Secondary.
89d80 53 65 63 74 69 6f 6e 27 27 20 69 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 78 20 6f 72 Section''.is.a.named.appendix.or
89da0 20 61 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 44 .a.front-matter.section.of.the.D
89dc0 6f 63 75 6d 65 6e 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 77 ocument.that.deals.exclusively.w
89de0 69 74 68 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 20 74 68 65 0a 70 75 62 6c ith.the.relationship.of.the.publ
89e00 69 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ishers.or.authors.of.the.Documen
89e20 74 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 27 73 20 6f 76 65 72 61 6c 6c 0a 73 75 62 6a t.to.the.Document's.overall.subj
89e40 65 63 74 20 28 6f 72 20 74 6f 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 29 20 61 6e 64 20 ect.(or.to.related.matters).and.
89e60 63 6f 6e 74 61 69 6e 73 20 6e 6f 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 6c 64 20 66 61 6c 6c contains.nothing.that.could.fall
89e80 0a 64 69 72 65 63 74 6c 79 20 77 69 74 68 69 6e 20 74 68 61 74 20 6f 76 65 72 61 6c 6c 20 73 75 .directly.within.that.overall.su
89ea0 62 6a 65 63 74 2e 20 20 28 54 68 75 73 2c 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 bject...(Thus,.if.the.Document.i
89ec0 73 20 69 6e 0a 70 61 72 74 20 61 20 74 65 78 74 62 6f 6f 6b 20 6f 66 20 6d 61 74 68 65 6d 61 74 s.in.part.a.textbook.of.mathemat
89ee0 69 63 73 2c 20 61 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 ics,.a.Secondary.Section.may.not
89f00 20 65 78 70 6c 61 69 6e 0a 61 6e 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 54 68 65 20 .explain.any.mathematics.)..The.
89f20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 63 6f 75 6c 64 20 62 65 20 61 20 6d 61 74 74 65 72 20 6f relationship.could.be.a.matter.o
89f40 66 20 68 69 73 74 6f 72 69 63 61 6c 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 f.historical.connection.with.the
89f60 20 73 75 62 6a 65 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 .subject.or.with.related.matters
89f80 2c 20 6f 72 20 6f 66 20 6c 65 67 61 6c 2c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 70 68 69 6c 6f ,.or.of.legal,.commercial,.philo
89fa0 73 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 6f 72 20 70 6f 6c 69 74 69 63 61 6c 20 70 sophical,.ethical.or.political.p
89fc0 6f 73 69 74 69 6f 6e 20 72 65 67 61 72 64 69 6e 67 0a 74 68 65 6d 2e 0a 0a 54 68 65 20 60 60 49 osition.regarding.them...The.``I
89fe0 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 27 27 20 61 72 65 20 63 65 72 74 61 69 6e 20 nvariant.Sections''.are.certain.
8a000 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 77 68 6f 73 65 20 74 69 74 6c 65 73 0a Secondary.Sections.whose.titles.
8a020 61 72 65 20 64 65 73 69 67 6e 61 74 65 64 2c 20 61 73 20 62 65 69 6e 67 20 74 68 6f 73 65 20 6f are.designated,.as.being.those.o
8a040 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 f.Invariant.Sections,.in.the.not
8a060 69 63 65 0a 74 68 61 74 20 73 61 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 ice.that.says.that.the.Document.
8a080 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 is.released.under.this.License..
8a0a0 20 49 66 20 61 0a 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 20 61 .If.a.section.does.not.fit.the.a
8a0c0 62 6f 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e 64 61 72 79 20 74 68 65 bove.definition.of.Secondary.the
8a0e0 6e 20 69 74 20 69 73 20 6e 6f 74 0a 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 65 73 69 67 6e n.it.is.not.allowed.to.be.design
8a100 61 74 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 ated.as.Invariant...The.Document
8a120 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 7a 65 72 6f 0a 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 .may.contain.zero.Invariant.Sect
8a140 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 ions...If.the.Document.does.not.
8a160 69 64 65 6e 74 69 66 79 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 0a 53 65 63 74 69 6f 6e 73 20 identify.any.Invariant.Sections.
8a180 74 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e 0a 0a 54 68 65 20 60 60 43 6f 76 65 then.there.are.none...The.``Cove
8a1a0 72 20 54 65 78 74 73 27 27 20 61 72 65 20 63 65 72 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 r.Texts''.are.certain.short.pass
8a1c0 61 67 65 73 20 6f 66 20 74 65 78 74 20 74 68 61 74 20 61 72 65 20 6c 69 73 74 65 64 2c 0a 61 73 ages.of.text.that.are.listed,.as
8a1e0 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 .Front-Cover.Texts.or.Back-Cover
8a200 20 54 65 78 74 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 69 63 65 20 74 68 61 74 20 73 61 79 73 20 .Texts,.in.the.notice.that.says.
8a220 74 68 61 74 0a 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e that.the.Document.is.released.un
8a240 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 20 46 72 6f 6e 74 2d 43 6f 76 65 72 der.this.License...A.Front-Cover
8a260 20 54 65 78 74 20 6d 61 79 0a 62 65 20 61 74 20 6d 6f 73 74 20 35 20 77 6f 72 64 73 2c 20 61 6e .Text.may.be.at.most.5.words,.an
8a280 64 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f d.a.Back-Cover.Text.may.be.at.mo
8a2a0 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a 41 20 60 60 54 72 61 6e 73 70 61 72 65 6e 74 27 27 20 st.25.words...A.``Transparent''.
8a2c0 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 61 20 6d 61 63 copy.of.the.Document.means.a.mac
8a2e0 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f 70 79 2c 0a 72 65 70 72 65 73 65 6e 74 65 64 20 hine-readable.copy,.represented.
8a300 69 6e 20 61 20 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 in.a.format.whose.specification.
8a320 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 67 65 6e 65 72 61 6c 20 70 75 62 6c is.available.to.the.general.publ
8a340 69 63 2c 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 72 65 76 69 73 69 6e ic,.that.is.suitable.for.revisin
8a360 67 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 0a 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 6c 79 g.the.document.straightforwardly
8a380 20 77 69 74 68 20 67 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 6f 72 20 28 66 .with.generic.text.editors.or.(f
8a3a0 6f 72 20 69 6d 61 67 65 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 0a 70 69 78 65 6c 73 29 20 67 65 or.images.composed.of.pixels).ge
8a3c0 6e 65 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 28 66 6f 72 20 64 72 61 neric.paint.programs.or.(for.dra
8a3e0 77 69 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 0a 64 72 61 wings).some.widely.available.dra
8a400 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 6e 64 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c wing.editor,.and.that.is.suitabl
8a420 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 20 66 6f 72 6d 61 74 74 65 72 73 20 6f e.for.input.to.text.formatters.o
8a440 72 0a 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 74 6f 20 61 r.for.automatic.translation.to.a
8a460 20 76 61 72 69 65 74 79 20 6f 66 20 66 6f 72 6d 61 74 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 .variety.of.formats.suitable.for
8a480 20 69 6e 70 75 74 0a 74 6f 20 74 65 78 74 20 66 6f 72 6d 61 74 74 65 72 73 2e 20 20 41 20 63 6f .input.to.text.formatters...A.co
8a4a0 70 79 20 6d 61 64 65 20 69 6e 20 61 6e 20 6f 74 68 65 72 77 69 73 65 20 54 72 61 6e 73 70 61 72 py.made.in.an.otherwise.Transpar
8a4c0 65 6e 74 20 66 69 6c 65 0a 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f 72 ent.file.format.whose.markup,.or
8a4e0 20 61 62 73 65 6e 63 65 20 6f 66 20 6d 61 72 6b 75 70 2c 20 68 61 73 20 62 65 65 6e 20 61 72 72 .absence.of.markup,.has.been.arr
8a500 61 6e 67 65 64 20 74 6f 20 74 68 77 61 72 74 0a 6f 72 20 64 69 73 63 6f 75 72 61 67 65 20 73 75 anged.to.thwart.or.discourage.su
8a520 62 73 65 71 75 65 6e 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 20 72 65 61 64 65 72 73 bsequent.modification.by.readers
8a540 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 0a 41 6e 20 69 6d 61 67 65 20 66 6f .is.not.Transparent..An.image.fo
8a560 72 6d 61 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 20 69 66 20 75 73 65 64 20 rmat.is.not.Transparent.if.used.
8a580 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e 74 69 61 6c 20 61 6d 6f 75 6e 74 0a 6f 66 20 74 65 for.any.substantial.amount.of.te
8a5a0 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 6e 6f 74 20 60 60 54 72 61 6e 73 70 xt...A.copy.that.is.not.``Transp
8a5c0 61 72 65 6e 74 27 27 20 69 73 20 63 61 6c 6c 65 64 20 60 60 4f 70 61 71 75 65 27 27 2e 0a 0a 45 arent''.is.called.``Opaque''...E
8a5e0 78 61 6d 70 6c 65 73 20 6f 66 20 73 75 69 74 61 62 6c 65 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 xamples.of.suitable.formats.for.
8a600 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 69 65 73 20 69 6e 63 6c 75 64 65 20 70 6c 61 69 6e Transparent.copies.include.plain
8a620 0a 41 53 43 49 49 20 77 69 74 68 6f 75 74 20 6d 61 72 6b 75 70 2c 20 54 65 78 69 6e 66 6f 20 69 .ASCII.without.markup,.Texinfo.i
8a640 6e 70 75 74 20 66 6f 72 6d 61 74 2c 20 4c 61 40 54 65 58 7b 7d 20 69 6e 70 75 74 0a 66 6f 72 6d nput.format,.La@TeX{}.input.form
8a660 61 74 2c 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 62 6c 69 63 6c 79 at,.SGML.or.XML.using.a.publicly
8a680 20 61 76 61 69 6c 61 62 6c 65 0a 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 72 64 2d 63 6f 6e .available.DTD,.and.standard-con
8a6a0 66 6f 72 6d 69 6e 67 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 0a 50 6f 73 74 53 63 72 69 70 74 20 forming.simple.HTML,.PostScript.
8a6c0 6f 72 20 50 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 75 6d 61 6e 20 6d 6f 64 69 66 69 or.PDF.designed.for.human.modifi
8a6e0 63 61 74 69 6f 6e 2e 20 20 45 78 61 6d 70 6c 65 73 0a 6f 66 20 74 72 61 6e 73 70 61 72 65 6e 74 cation...Examples.of.transparent
8a700 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 50 4e 47 2c 20 58 43 46 20 .image.formats.include.PNG,.XCF.
8a720 61 6e 64 0a 4a 50 47 40 2e 20 20 4f 70 61 71 75 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 and.JPG@...Opaque.formats.includ
8a740 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74 73 20 74 68 61 74 20 63 61 6e 20 62 e.proprietary.formats.that.can.b
8a760 65 0a 72 65 61 64 20 61 6e 64 20 65 64 69 74 65 64 20 6f 6e 6c 79 20 62 79 20 70 72 6f 70 72 69 e.read.and.edited.only.by.propri
8a780 65 74 61 72 79 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 53 47 4d 4c 20 6f 72 0a 58 etary.word.processors,.SGML.or.X
8a7a0 4d 4c 20 66 6f 72 20 77 68 69 63 68 20 74 68 65 20 44 54 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 ML.for.which.the.DTD.and/or.proc
8a7c0 65 73 73 69 6e 67 20 74 6f 6f 6c 73 20 61 72 65 0a 6e 6f 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 essing.tools.are.not.generally.a
8a7e0 76 61 69 6c 61 62 6c 65 2c 20 61 6e 64 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 61 vailable,.and.the.machine-genera
8a800 74 65 64 20 48 54 4d 4c 2c 0a 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f 64 ted.HTML,.PostScript.or.PDF.prod
8a820 75 63 65 64 20 62 79 20 73 6f 6d 65 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 20 66 6f 72 uced.by.some.word.processors.for
8a840 0a 6f 75 74 70 75 74 20 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 54 68 65 20 60 60 54 69 .output.purposes.only...The.``Ti
8a860 74 6c 65 20 50 61 67 65 27 27 20 6d 65 61 6e 73 2c 20 66 6f 72 20 61 20 70 72 69 6e 74 65 64 20 tle.Page''.means,.for.a.printed.
8a880 62 6f 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 20 69 74 73 65 6c 66 2c 0a 70 6c 75 book,.the.title.page.itself,.plu
8a8a0 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 73 20 61 73 20 61 72 65 20 6e 65 s.such.following.pages.as.are.ne
8a8c0 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 6c 65 67 69 62 6c 79 2c 20 74 68 65 20 6d 61 74 65 72 eded.to.hold,.legibly,.the.mater
8a8e0 69 61 6c 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 72 65 71 75 69 72 65 73 20 74 6f 20 61 70 70 ial.this.License.requires.to.app
8a900 65 61 72 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 2e 20 20 46 6f 72 20 77 6f 72 6b ear.in.the.title.page...For.work
8a920 73 20 69 6e 0a 66 6f 72 6d 61 74 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 s.in.formats.which.do.not.have.a
8a940 6e 79 20 74 69 74 6c 65 20 70 61 67 65 20 61 73 20 73 75 63 68 2c 20 60 60 54 69 74 6c 65 20 50 ny.title.page.as.such,.``Title.P
8a960 61 67 65 27 27 20 6d 65 61 6e 73 0a 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 20 6d 6f age''.means.the.text.near.the.mo
8a980 73 74 20 70 72 6f 6d 69 6e 65 6e 74 20 61 70 70 65 61 72 61 6e 63 65 20 6f 66 20 74 68 65 20 77 st.prominent.appearance.of.the.w
8a9a0 6f 72 6b 27 73 20 74 69 74 6c 65 2c 0a 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 62 65 67 69 6e ork's.title,.preceding.the.begin
8a9c0 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0a 0a 54 ning.of.the.body.of.the.text...T
8a9e0 68 65 20 60 60 70 75 62 6c 69 73 68 65 72 27 27 20 6d 65 61 6e 73 20 61 6e 79 20 70 65 72 73 6f he.``publisher''.means.any.perso
8aa00 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 65 73 20 63 6f 70 n.or.entity.that.distributes.cop
8aa20 69 65 73 0a 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 70 75 62 6c 69 ies.of.the.Document.to.the.publi
8aa40 63 2e 0a 0a 41 20 73 65 63 74 69 6f 6e 20 60 60 45 6e 74 69 74 6c 65 64 20 58 59 5a 27 27 20 6d c...A.section.``Entitled.XYZ''.m
8aa60 65 61 6e 73 20 61 20 6e 61 6d 65 64 20 73 75 62 75 6e 69 74 20 6f 66 20 74 68 65 20 44 6f 63 75 eans.a.named.subunit.of.the.Docu
8aa80 6d 65 6e 74 20 77 68 6f 73 65 0a 74 69 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 63 69 ment.whose.title.either.is.preci
8aaa0 73 65 6c 79 20 58 59 5a 20 6f 72 20 63 6f 6e 74 61 69 6e 73 20 58 59 5a 20 69 6e 20 70 61 72 65 sely.XYZ.or.contains.XYZ.in.pare
8aac0 6e 74 68 65 73 65 73 20 66 6f 6c 6c 6f 77 69 6e 67 0a 74 65 78 74 20 74 68 61 74 20 74 72 61 6e ntheses.following.text.that.tran
8aae0 73 6c 61 74 65 73 20 58 59 5a 20 69 6e 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 20 slates.XYZ.in.another.language..
8ab00 20 28 48 65 72 65 20 58 59 5a 20 73 74 61 6e 64 73 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 .(Here.XYZ.stands.for.a.specific
8ab20 20 73 65 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f 6e 65 64 20 62 65 6c 6f 77 2c 20 73 .section.name.mentioned.below,.s
8ab40 75 63 68 20 61 73 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 27 27 2c 0a 60 60 44 uch.as.``Acknowledgements'',.``D
8ab60 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2c 20 edications'',.``Endorsements'',.
8ab80 6f 72 20 60 60 48 69 73 74 6f 72 79 27 27 2e 29 20 20 54 6f 20 60 60 50 72 65 73 65 72 76 65 20 or.``History''.)..To.``Preserve.
8aba0 74 68 65 20 54 69 74 6c 65 27 27 0a 6f 66 20 73 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 the.Title''.of.such.a.section.wh
8abc0 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 en.you.modify.the.Document.means
8abe0 20 74 68 61 74 20 69 74 20 72 65 6d 61 69 6e 73 20 61 0a 73 65 63 74 69 6f 6e 20 60 60 45 6e 74 .that.it.remains.a.section.``Ent
8ac00 69 74 6c 65 64 20 58 59 5a 27 27 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 69 73 20 64 65 itled.XYZ''.according.to.this.de
8ac20 66 69 6e 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 61 79 20 69 6e 63 6c finition...The.Document.may.incl
8ac40 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6e 65 78 74 20 74 6f ude.Warranty.Disclaimers.next.to
8ac60 20 74 68 65 20 6e 6f 74 69 63 65 20 77 68 69 63 68 0a 73 74 61 74 65 73 20 74 68 61 74 20 74 68 .the.notice.which.states.that.th
8ac80 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 is.License.applies.to.the.Docume
8aca0 6e 74 2e 20 20 54 68 65 73 65 20 57 61 72 72 61 6e 74 79 0a 44 69 73 63 6c 61 69 6d 65 72 73 20 nt...These.Warranty.Disclaimers.
8acc0 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 62 79 are.considered.to.be.included.by
8ace0 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 .reference.in.this.License,.but.
8ad00 6f 6e 6c 79 20 61 73 20 72 65 67 61 72 64 73 20 64 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 only.as.regards.disclaiming.warr
8ad20 61 6e 74 69 65 73 3a 20 61 6e 79 20 6f 74 68 65 72 0a 69 6d 70 6c 69 63 61 74 69 6f 6e 20 74 68 anties:.any.other.implication.th
8ad40 61 74 20 74 68 65 73 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6d 61 at.these.Warranty.Disclaimers.ma
8ad60 79 20 68 61 76 65 20 69 73 20 76 6f 69 64 20 61 6e 64 20 68 61 73 0a 6e 6f 20 65 66 66 65 63 74 y.have.is.void.and.has.no.effect
8ad80 20 6f 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e .on.the.meaning.of.this.License.
8ada0 0a 0a 40 69 74 65 6d 0a 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 0a 0a 59 6f 75 20 6d 61 ..@item.VERBATIM.COPYING..You.ma
8adc0 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 y.copy.and.distribute.the.Docume
8ade0 6e 74 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 69 74 68 65 72 0a 63 6f 6d 6d 65 72 63 nt.in.any.medium,.either.commerc
8ae00 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 20 70 72 6f 76 69 64 ially.or.noncommercially,.provid
8ae20 65 64 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 0a 63 6f 70 79 72 69 ed.that.this.License,.the.copyri
8ae40 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 6e 64 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 ght.notices,.and.the.license.not
8ae60 69 63 65 20 73 61 79 69 6e 67 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 0a ice.saying.this.License.applies.
8ae80 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 72 65 20 72 65 70 72 6f 64 75 63 65 64 20 69 to.the.Document.are.reproduced.i
8aea0 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 61 64 64 20 6e n.all.copies,.and.that.you.add.n
8aec0 6f 20 6f 74 68 65 72 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 6f o.other.conditions.whatsoever.to
8aee0 20 74 68 6f 73 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 .those.of.this.License...You.may
8af00 20 6e 6f 74 20 75 73 65 0a 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 6f .not.use.technical.measures.to.o
8af20 62 73 74 72 75 63 74 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 72 65 61 64 69 6e 67 20 6f bstruct.or.control.the.reading.o
8af40 72 20 66 75 72 74 68 65 72 0a 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 70 69 65 73 20 r.further.copying.of.the.copies.
8af60 79 6f 75 20 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 2e 20 20 48 6f 77 65 76 65 72 you.make.or.distribute...However
8af80 2c 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 0a 63 6f 6d 70 65 6e 73 61 74 69 6f 6e 20 69 6e ,.you.may.accept.compensation.in
8afa0 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f 70 69 65 73 2e 20 20 49 66 20 79 6f 75 20 64 69 .exchange.for.copies...If.you.di
8afc0 73 74 72 69 62 75 74 65 20 61 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 0a 6e 75 6d 62 65 72 20 6f stribute.a.large.enough.number.o
8afe0 66 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 75 73 74 20 61 6c 73 6f 20 66 6f 6c 6c 6f 77 20 74 68 f.copies.you.must.also.follow.th
8b000 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 20 73 65 63 74 69 6f 6e 20 33 2e 0a 0a 59 6f 75 20 e.conditions.in.section.3...You.
8b020 6d 61 79 20 61 6c 73 6f 20 6c 65 6e 64 20 63 6f 70 69 65 73 2c 20 75 6e 64 65 72 20 74 68 65 20 may.also.lend.copies,.under.the.
8b040 73 61 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 61 62 6f 76 65 2c 20 61 6e same.conditions.stated.above,.an
8b060 64 0a 79 6f 75 20 6d 61 79 20 70 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 20 63 6f 70 69 65 d.you.may.publicly.display.copie
8b080 73 2e 0a 0a 40 69 74 65 6d 0a 43 4f 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 0a 0a 49 s...@item.COPYING.IN.QUANTITY..I
8b0a0 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f 70 69 65 73 20 28 6f 72 f.you.publish.printed.copies.(or
8b0c0 20 63 6f 70 69 65 73 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f 6d 6d 6f 6e 6c 79 20 68 .copies.in.media.that.commonly.h
8b0e0 61 76 65 0a 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d ave.printed.covers).of.the.Docum
8b100 65 6e 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 61 6e ent,.numbering.more.than.100,.an
8b120 64 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 d.the.Document's.license.notice.
8b140 72 65 71 75 69 72 65 73 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 79 6f 75 20 6d 75 73 74 20 65 requires.Cover.Texts,.you.must.e
8b160 6e 63 6c 6f 73 65 20 74 68 65 0a 63 6f 70 69 65 73 20 69 6e 20 63 6f 76 65 72 73 20 74 68 61 74 nclose.the.copies.in.covers.that
8b180 20 63 61 72 72 79 2c 20 63 6c 65 61 72 6c 79 20 61 6e 64 20 6c 65 67 69 62 6c 79 2c 20 61 6c 6c .carry,.clearly.and.legibly,.all
8b1a0 20 74 68 65 73 65 20 43 6f 76 65 72 0a 54 65 78 74 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 .these.Cover.Texts:.Front-Cover.
8b1c0 54 65 78 74 73 20 6f 6e 20 74 68 65 20 66 72 6f 6e 74 20 63 6f 76 65 72 2c 20 61 6e 64 20 42 61 Texts.on.the.front.cover,.and.Ba
8b1e0 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 0a 74 68 65 20 62 61 63 6b 20 63 6f 76 65 72 ck-Cover.Texts.on.the.back.cover
8b200 2e 20 20 42 6f 74 68 20 63 6f 76 65 72 73 20 6d 75 73 74 20 61 6c 73 6f 20 63 6c 65 61 72 6c 79 ...Both.covers.must.also.clearly
8b220 20 61 6e 64 20 6c 65 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 0a 79 6f 75 20 61 73 20 74 68 65 .and.legibly.identify.you.as.the
8b240 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 65 73 2e 20 20 54 68 65 .publisher.of.these.copies...The
8b260 20 66 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 72 65 73 65 6e 74 0a 74 68 65 20 66 75 .front.cover.must.present.the.fu
8b280 6c 6c 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 74 ll.title.with.all.words.of.the.t
8b2a0 69 74 6c 65 20 65 71 75 61 6c 6c 79 20 70 72 6f 6d 69 6e 65 6e 74 20 61 6e 64 0a 76 69 73 69 62 itle.equally.prominent.and.visib
8b2c0 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 20 le...You.may.add.other.material.
8b2e0 6f 6e 20 74 68 65 20 63 6f 76 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 2e 0a 43 6f 70 79 69 on.the.covers.in.addition..Copyi
8b300 6e 67 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 ng.with.changes.limited.to.the.c
8b320 6f 76 65 72 73 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 79 20 70 72 65 73 65 72 76 65 0a overs,.as.long.as.they.preserve.
8b340 74 68 65 20 74 69 74 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 73 61 the.title.of.the.Document.and.sa
8b360 74 69 73 66 79 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 20 74 tisfy.these.conditions,.can.be.t
8b380 72 65 61 74 65 64 0a 61 73 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 6f 74 reated.as.verbatim.copying.in.ot
8b3a0 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 49 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 74 her.respects...If.the.required.t
8b3c0 65 78 74 73 20 66 6f 72 20 65 69 74 68 65 72 20 63 6f 76 65 72 20 61 72 65 20 74 6f 6f 20 76 6f exts.for.either.cover.are.too.vo
8b3e0 6c 75 6d 69 6e 6f 75 73 20 74 6f 20 66 69 74 0a 6c 65 67 69 62 6c 79 2c 20 79 6f 75 20 73 68 6f luminous.to.fit.legibly,.you.sho
8b400 75 6c 64 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 73 20 6c 69 73 74 65 64 20 28 61 uld.put.the.first.ones.listed.(a
8b420 73 20 6d 61 6e 79 20 61 73 20 66 69 74 0a 72 65 61 73 6f 6e 61 62 6c 79 29 20 6f 6e 20 74 68 65 s.many.as.fit.reasonably).on.the
8b440 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 .actual.cover,.and.continue.the.
8b460 72 65 73 74 20 6f 6e 74 6f 20 61 64 6a 61 63 65 6e 74 0a 70 61 67 65 73 2e 0a 0a 49 66 20 79 6f rest.onto.adjacent.pages...If.yo
8b480 75 20 70 75 62 6c 69 73 68 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 4f 70 61 71 75 65 20 63 u.publish.or.distribute.Opaque.c
8b4a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6e 75 6d 62 65 72 69 6e 67 0a opies.of.the.Document.numbering.
8b4c0 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 69 more.than.100,.you.must.either.i
8b4e0 6e 63 6c 75 64 65 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 54 72 61 6e 73 70 nclude.a.machine-readable.Transp
8b500 61 72 65 6e 74 0a 63 6f 70 79 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 4f 70 61 71 75 arent.copy.along.with.each.Opaqu
8b520 65 20 63 6f 70 79 2c 20 6f 72 20 73 74 61 74 65 20 69 6e 20 6f 72 20 77 69 74 68 20 65 61 63 68 e.copy,.or.state.in.or.with.each
8b540 20 4f 70 61 71 75 65 20 63 6f 70 79 0a 61 20 63 6f 6d 70 75 74 65 72 2d 6e 65 74 77 6f 72 6b 20 .Opaque.copy.a.computer-network.
8b560 6c 6f 63 61 74 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 67 65 6e 65 72 61 6c 20 location.from.which.the.general.
8b580 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 0a 70 75 62 6c 69 63 20 68 61 73 20 61 63 63 65 73 73 20 network-using.public.has.access.
8b5a0 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 20 70 75 62 6c 69 63 2d 73 74 61 6e 64 61 72 to.download.using.public-standar
8b5c0 64 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 73 0a 61 20 63 6f 6d 70 6c 65 74 65 20 54 d.network.protocols.a.complete.T
8b5e0 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c ransparent.copy.of.the.Document,
8b600 20 66 72 65 65 20 6f 66 20 61 64 64 65 64 20 6d 61 74 65 72 69 61 6c 2e 0a 49 66 20 79 6f 75 20 .free.of.added.material..If.you.
8b620 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 use.the.latter.option,.you.must.
8b640 74 61 6b 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 70 72 75 64 65 6e 74 20 73 74 65 70 73 2c 0a 77 take.reasonably.prudent.steps,.w
8b660 68 65 6e 20 79 6f 75 20 62 65 67 69 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 4f 70 hen.you.begin.distribution.of.Op
8b680 61 71 75 65 20 63 6f 70 69 65 73 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 65 6e 73 75 aque.copies.in.quantity,.to.ensu
8b6a0 72 65 0a 74 68 61 74 20 74 68 69 73 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 77 69 re.that.this.Transparent.copy.wi
8b6c0 6c 6c 20 72 65 6d 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74 68 65 ll.remain.thus.accessible.at.the
8b6e0 20 73 74 61 74 65 64 0a 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 61 74 20 6c 65 61 73 74 20 .stated.location.until.at.least.
8b700 6f 6e 65 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 74 69 6d 65 20 79 6f 75 one.year.after.the.last.time.you
8b720 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 0a 4f 70 61 71 75 65 20 63 6f 70 79 20 28 64 69 72 65 .distribute.an.Opaque.copy.(dire
8b740 63 74 6c 79 20 6f 72 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 61 67 65 6e 74 73 20 6f 72 20 72 ctly.or.through.your.agents.or.r
8b760 65 74 61 69 6c 65 72 73 29 20 6f 66 20 74 68 61 74 0a 65 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 etailers).of.that.edition.to.the
8b780 20 70 75 62 6c 69 63 2e 0a 0a 49 74 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 6e .public...It.is.requested,.but.n
8b7a0 6f 74 20 72 65 71 75 69 72 65 64 2c 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 74 61 63 74 20 74 68 ot.required,.that.you.contact.th
8b7c0 65 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 e.authors.of.the.Document.well.b
8b7e0 65 66 6f 72 65 20 72 65 64 69 73 74 72 69 62 75 74 69 6e 67 20 61 6e 79 20 6c 61 72 67 65 20 6e efore.redistributing.any.large.n
8b800 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 2c 20 74 6f 20 67 69 76 65 0a 74 68 65 6d 20 61 20 umber.of.copies,.to.give.them.a.
8b820 63 68 61 6e 63 65 20 74 6f 20 70 72 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 61 6e 20 75 70 chance.to.provide.you.with.an.up
8b840 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a dated.version.of.the.Document...
8b860 40 69 74 65 6d 0a 4d 4f 44 49 46 49 43 41 54 49 4f 4e 53 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 70 @item.MODIFICATIONS..You.may.cop
8b880 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 y.and.distribute.a.Modified.Vers
8b8a0 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 0a 74 68 65 20 63 6f ion.of.the.Document.under.the.co
8b8c0 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 32 20 61 6e 64 20 33 20 61 62 6f nditions.of.sections.2.and.3.abo
8b8e0 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 72 65 6c 65 61 73 65 0a 74 68 ve,.provided.that.you.release.th
8b900 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 70 72 65 63 69 73 65 e.Modified.Version.under.precise
8b920 6c 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 69 74 68 20 74 68 65 20 4d 6f 64 69 66 69 ly.this.License,.with.the.Modifi
8b940 65 64 0a 56 65 72 73 69 6f 6e 20 66 69 6c 6c 69 6e 67 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 74 ed.Version.filling.the.role.of.t
8b960 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 75 73 20 6c 69 63 65 6e 73 69 6e 67 20 64 69 73 74 he.Document,.thus.licensing.dist
8b980 72 69 62 75 74 69 6f 6e 0a 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 ribution.and.modification.of.the
8b9a0 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 74 6f 20 77 68 6f 65 76 65 72 20 70 6f 73 .Modified.Version.to.whoever.pos
8b9c0 73 65 73 73 65 73 20 61 20 63 6f 70 79 0a 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f sesses.a.copy.of.it...In.additio
8b9e0 6e 2c 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 69 6e 20 74 n,.you.must.do.these.things.in.t
8ba00 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 he.Modified.Version:..@enumerate
8ba20 20 41 0a 40 69 74 65 6d 0a 55 73 65 20 69 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 .A.@item.Use.in.the.Title.Page.(
8ba40 61 6e 64 20 6f 6e 20 74 68 65 20 63 6f 76 65 72 73 2c 20 69 66 20 61 6e 79 29 20 61 20 74 69 74 and.on.the.covers,.if.any).a.tit
8ba60 6c 65 20 64 69 73 74 69 6e 63 74 0a 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 44 6f 63 le.distinct.from.that.of.the.Doc
8ba80 75 6d 65 6e 74 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 6f 66 20 70 72 65 76 69 6f 75 ument,.and.from.those.of.previou
8baa0 73 20 76 65 72 73 69 6f 6e 73 0a 28 77 68 69 63 68 20 73 68 6f 75 6c 64 2c 20 69 66 20 74 68 65 s.versions.(which.should,.if.the
8bac0 72 65 20 77 65 72 65 20 61 6e 79 2c 20 62 65 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 48 69 re.were.any,.be.listed.in.the.Hi
8bae0 73 74 6f 72 79 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 story.section.of.the.Document)..
8bb00 20 59 6f 75 20 6d 61 79 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 74 69 74 6c 65 20 61 73 20 61 .You.may.use.the.same.title.as.a
8bb20 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 0a 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 .previous.version.if.the.origina
8bb40 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 67 69 76 65 l.publisher.of.that.version.give
8bb60 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 4c 69 73 74 20 6f 6e 20 74 68 65 s.permission...@item.List.on.the
8bb80 20 54 69 74 6c 65 20 50 61 67 65 2c 20 61 73 20 61 75 74 68 6f 72 73 2c 20 6f 6e 65 20 6f 72 20 .Title.Page,.as.authors,.one.or.
8bba0 6d 6f 72 65 20 70 65 72 73 6f 6e 73 20 6f 72 20 65 6e 74 69 74 69 65 73 0a 72 65 73 70 6f 6e 73 more.persons.or.entities.respons
8bbc0 69 62 6c 65 20 66 6f 72 20 61 75 74 68 6f 72 73 68 69 70 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 ible.for.authorship.of.the.modif
8bbe0 69 63 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 0a 56 65 72 73 69 6f 6e ications.in.the.Modified.Version
8bc00 2c 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 66 69 76 65 20 6f 66 ,.together.with.at.least.five.of
8bc20 20 74 68 65 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 0a 44 6f .the.principal.authors.of.the.Do
8bc40 63 75 6d 65 6e 74 20 28 61 6c 6c 20 6f 66 20 69 74 73 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 cument.(all.of.its.principal.aut
8bc60 68 6f 72 73 2c 20 69 66 20 69 74 20 68 61 73 20 66 65 77 65 72 20 74 68 61 6e 20 66 69 76 65 29 hors,.if.it.has.fewer.than.five)
8bc80 2c 0a 75 6e 6c 65 73 73 20 74 68 65 79 20 72 65 6c 65 61 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 ,.unless.they.release.you.from.t
8bca0 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 53 74 61 74 65 20 6f 6e his.requirement...@item.State.on
8bcc0 20 74 68 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 .the.Title.page.the.name.of.the.
8bce0 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f publisher.of.the.Modified.Versio
8bd00 6e 2c 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 n,.as.the.publisher...@item.Pres
8bd20 65 72 76 65 20 61 6c 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 20 6f erve.all.the.copyright.notices.o
8bd40 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 41 64 64 20 61 6e 20 61 70 f.the.Document...@item.Add.an.ap
8bd60 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 66 6f 72 20 79 propriate.copyright.notice.for.y
8bd80 6f 75 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 61 64 6a 61 63 65 6e 74 20 74 6f 20 74 68 our.modifications.adjacent.to.th
8bda0 65 20 6f 74 68 65 72 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2e 0a 0a 40 69 74 65 e.other.copyright.notices...@ite
8bdc0 6d 0a 49 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 m.Include,.immediately.after.the
8bde0 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 20 6c 69 63 65 6e 73 65 20 6e 6f .copyright.notices,.a.license.no
8be00 74 69 63 65 0a 67 69 76 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 20 70 65 72 6d 69 73 73 69 6f tice.giving.the.public.permissio
8be20 6e 20 74 6f 20 75 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e n.to.use.the.Modified.Version.un
8be40 64 65 72 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 der.the.terms.of.this.License,.i
8be60 6e 20 74 68 65 20 66 6f 72 6d 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 41 64 64 65 6e 64 75 6d n.the.form.shown.in.the.Addendum
8be80 20 62 65 6c 6f 77 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 69 6e 20 74 68 61 74 20 .below...@item.Preserve.in.that.
8bea0 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 73 20 6f 66 license.notice.the.full.lists.of
8bec0 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 0a 61 6e 64 20 72 65 71 75 69 72 65 64 .Invariant.Sections.and.required
8bee0 20 43 6f 76 65 72 20 54 65 78 74 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 .Cover.Texts.given.in.the.Docume
8bf00 6e 74 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 0a 0a 40 69 74 65 6d 0a 49 6e 63 6c nt's.license.notice...@item.Incl
8bf20 75 64 65 20 61 6e 20 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 ude.an.unaltered.copy.of.this.Li
8bf40 63 65 6e 73 65 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 74 68 65 20 73 65 63 74 69 cense...@item.Preserve.the.secti
8bf60 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 2c 20 50 72 65 73 65 72 76 on.Entitled.``History'',.Preserv
8bf80 65 20 69 74 73 20 54 69 74 6c 65 2c 20 61 6e 64 20 61 64 64 0a 74 6f 20 69 74 20 61 6e 20 69 74 e.its.Title,.and.add.to.it.an.it
8bfa0 65 6d 20 73 74 61 74 69 6e 67 20 61 74 20 6c 65 61 73 74 20 74 68 65 20 74 69 74 6c 65 2c 20 79 em.stating.at.least.the.title,.y
8bfc0 65 61 72 2c 20 6e 65 77 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 0a 70 75 62 6c 69 73 68 65 72 20 ear,.new.authors,.and.publisher.
8bfe0 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 67 69 76 65 6e of.the.Modified.Version.as.given
8c000 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 2e 20 20 49 66 0a 74 68 65 72 65 20 69 73 .on.the.Title.Page...If.there.is
8c020 20 6e 6f 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 .no.section.Entitled.``History''
8c040 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 63 72 65 61 74 65 20 6f 6e 65 0a 73 74 61 .in.the.Document,.create.one.sta
8c060 74 69 6e 67 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 61 75 74 68 6f 72 73 2c 20 61 ting.the.title,.year,.authors,.a
8c080 6e 64 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 73 0a nd.publisher.of.the.Document.as.
8c0a0 67 69 76 65 6e 20 6f 6e 20 69 74 73 20 54 69 74 6c 65 20 50 61 67 65 2c 20 74 68 65 6e 20 61 64 given.on.its.Title.Page,.then.ad
8c0c0 64 20 61 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4d 6f 64 69 66 69 65 d.an.item.describing.the.Modifie
8c0e0 64 0a 56 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 d.Version.as.stated.in.the.previ
8c100 6f 75 73 20 73 65 6e 74 65 6e 63 65 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 74 68 ous.sentence...@item.Preserve.th
8c120 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 2c 20 69 66 20 61 6e 79 2c 20 67 69 76 65 e.network.location,.if.any,.give
8c140 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 66 6f 72 0a 70 75 62 6c 69 63 20 61 63 63 n.in.the.Document.for.public.acc
8c160 65 73 73 20 74 6f 20 61 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 ess.to.a.Transparent.copy.of.the
8c180 20 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 6c 69 6b 65 77 69 73 65 0a 74 68 65 20 6e 65 74 77 .Document,.and.likewise.the.netw
8c1a0 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d ork.locations.given.in.the.Docum
8c1c0 65 6e 74 20 66 6f 72 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 0a 69 74 20 77 61 73 ent.for.previous.versions.it.was
8c1e0 20 62 61 73 65 64 20 6f 6e 2e 20 20 54 68 65 73 65 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 .based.on...These.may.be.placed.
8c200 69 6e 20 74 68 65 20 60 60 48 69 73 74 6f 72 79 27 27 20 73 65 63 74 69 6f 6e 2e 0a 59 6f 75 20 in.the.``History''.section..You.
8c220 6d 61 79 20 6f 6d 69 74 20 61 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 may.omit.a.network.location.for.
8c240 61 20 77 6f 72 6b 20 74 68 61 74 20 77 61 73 20 70 75 62 6c 69 73 68 65 64 20 61 74 0a 6c 65 61 a.work.that.was.published.at.lea
8c260 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 44 6f 63 75 6d 65 6e st.four.years.before.the.Documen
8c280 74 20 69 74 73 65 6c 66 2c 20 6f 72 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 70 75 62 t.itself,.or.if.the.original.pub
8c2a0 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 69 74 20 72 65 66 65 72 73 20 lisher.of.the.version.it.refers.
8c2c0 74 6f 20 67 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 46 6f 72 20 to.gives.permission...@item.For.
8c2e0 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 any.section.Entitled.``Acknowled
8c300 67 65 6d 65 6e 74 73 27 27 20 6f 72 20 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 50 72 gements''.or.``Dedications'',.Pr
8c320 65 73 65 72 76 65 0a 74 68 65 20 54 69 74 6c 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 2c eserve.the.Title.of.the.section,
8c340 20 61 6e 64 20 70 72 65 73 65 72 76 65 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 6c 6c .and.preserve.in.the.section.all
8c360 20 74 68 65 0a 73 75 62 73 74 61 6e 63 65 20 61 6e 64 20 74 6f 6e 65 20 6f 66 20 65 61 63 68 20 .the.substance.and.tone.of.each.
8c380 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 of.the.contributor.acknowledgeme
8c3a0 6e 74 73 20 61 6e 64 2f 6f 72 0a 64 65 64 69 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 74 68 65 nts.and/or.dedications.given.the
8c3c0 72 65 69 6e 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 49 6e rein...@item.Preserve.all.the.In
8c3e0 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 variant.Sections.of.the.Document
8c400 2c 0a 75 6e 61 6c 74 65 72 65 64 20 69 6e 20 74 68 65 69 72 20 74 65 78 74 20 61 6e 64 20 69 6e ,.unaltered.in.their.text.and.in
8c420 20 74 68 65 69 72 20 74 69 74 6c 65 73 2e 20 20 53 65 63 74 69 6f 6e 20 6e 75 6d 62 65 72 73 0a .their.titles...Section.numbers.
8c440 6f 72 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 61 72 65 20 6e 6f 74 20 63 6f 6e 73 69 64 or.the.equivalent.are.not.consid
8c460 65 72 65 64 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e ered.part.of.the.section.titles.
8c480 0a 0a 40 69 74 65 6d 0a 44 65 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 ..@item.Delete.any.section.Entit
8c4a0 6c 65 64 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2e 20 20 53 75 63 68 20 61 20 73 65 led.``Endorsements''...Such.a.se
8c4c0 63 74 69 6f 6e 0a 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 ction.may.not.be.included.in.the
8c4e0 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 44 6f 20 6e 6f 74 .Modified.Version...@item.Do.not
8c500 20 72 65 74 69 74 6c 65 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 73 65 63 74 69 6f 6e 20 74 6f .retitle.any.existing.section.to
8c520 20 62 65 20 45 6e 74 69 74 6c 65 64 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 20 6f 72 .be.Entitled.``Endorsements''.or
8c540 0a 74 6f 20 63 6f 6e 66 6c 69 63 74 20 69 6e 20 74 69 74 6c 65 20 77 69 74 68 20 61 6e 79 20 49 .to.conflict.in.title.with.any.I
8c560 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 nvariant.Section...@item.Preserv
8c580 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 40 65 6e 64 e.any.Warranty.Disclaimers..@end
8c5a0 20 65 6e 75 6d 65 72 61 74 65 0a 0a 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 .enumerate..If.the.Modified.Vers
8c5c0 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 6e 65 77 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 ion.includes.new.front-matter.se
8c5e0 63 74 69 6f 6e 73 20 6f 72 0a 61 70 70 65 6e 64 69 63 65 73 20 74 68 61 74 20 71 75 61 6c 69 66 ctions.or.appendices.that.qualif
8c600 79 20 61 73 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 74 y.as.Secondary.Sections.and.cont
8c620 61 69 6e 20 6e 6f 20 6d 61 74 65 72 69 61 6c 0a 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 ain.no.material.copied.from.the.
8c640 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e Document,.you.may.at.your.option
8c660 20 64 65 73 69 67 6e 61 74 65 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 0a 6f 66 20 74 68 65 73 65 20 .designate.some.or.all.of.these.
8c680 73 65 63 74 69 6f 6e 73 20 61 73 20 69 6e 76 61 72 69 61 6e 74 2e 20 20 54 6f 20 64 6f 20 74 68 sections.as.invariant...To.do.th
8c6a0 69 73 2c 20 61 64 64 20 74 68 65 69 72 20 74 69 74 6c 65 73 20 74 6f 20 74 68 65 0a 6c 69 73 74 is,.add.their.titles.to.the.list
8c6c0 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 4d 6f .of.Invariant.Sections.in.the.Mo
8c6e0 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e dified.Version's.license.notice.
8c700 0a 54 68 65 73 65 20 74 69 74 6c 65 73 20 6d 75 73 74 20 62 65 20 64 69 73 74 69 6e 63 74 20 66 .These.titles.must.be.distinct.f
8c720 72 6f 6d 20 61 6e 79 20 6f 74 68 65 72 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 59 rom.any.other.section.titles...Y
8c740 6f 75 20 6d 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 ou.may.add.a.section.Entitled.``
8c760 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2c 20 70 72 6f 76 69 64 65 64 20 69 74 20 63 6f 6e 74 Endorsements'',.provided.it.cont
8c780 61 69 6e 73 0a 6e 6f 74 68 69 6e 67 20 62 75 74 20 65 6e 64 6f 72 73 65 6d 65 6e 74 73 20 6f 66 ains.nothing.but.endorsements.of
8c7a0 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 62 79 20 76 61 72 69 6f 75 .your.Modified.Version.by.variou
8c7c0 73 0a 70 61 72 74 69 65 73 2d 2d 2d 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 74 61 74 65 6d 65 s.parties---for.example,.stateme
8c7e0 6e 74 73 20 6f 66 20 70 65 65 72 20 72 65 76 69 65 77 20 6f 72 20 74 68 61 74 20 74 68 65 20 74 nts.of.peer.review.or.that.the.t
8c800 65 78 74 20 68 61 73 0a 62 65 65 6e 20 61 70 70 72 6f 76 65 64 20 62 79 20 61 6e 20 6f 72 67 61 ext.has.been.approved.by.an.orga
8c820 6e 69 7a 61 74 69 6f 6e 20 61 73 20 74 68 65 20 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 64 65 nization.as.the.authoritative.de
8c840 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 0a 73 74 61 6e 64 61 72 64 2e 0a 0a 59 6f 75 20 6d 61 79 finition.of.a.standard...You.may
8c860 20 61 64 64 20 61 20 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 66 69 76 65 20 77 6f 72 .add.a.passage.of.up.to.five.wor
8c880 64 73 20 61 73 20 61 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 61 6e 64 20 61 0a ds.as.a.Front-Cover.Text,.and.a.
8c8a0 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 6f 72 64 73 20 61 73 20 61 20 42 passage.of.up.to.25.words.as.a.B
8c8c0 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 ack-Cover.Text,.to.the.end.of.th
8c8e0 65 20 6c 69 73 74 0a 6f 66 20 43 6f 76 65 72 20 54 65 78 74 73 20 69 6e 20 74 68 65 20 4d 6f 64 e.list.of.Cover.Texts.in.the.Mod
8c900 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 4f 6e 6c 79 20 6f 6e 65 20 70 61 73 73 61 67 65 ified.Version...Only.one.passage
8c920 20 6f 66 0a 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 20 61 6e 64 20 6f 6e 65 20 6f 66 20 .of.Front-Cover.Text.and.one.of.
8c940 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 62 79 20 Back-Cover.Text.may.be.added.by.
8c960 28 6f 72 0a 74 68 72 6f 75 67 68 20 61 72 72 61 6e 67 65 6d 65 6e 74 73 20 6d 61 64 65 20 62 79 (or.through.arrangements.made.by
8c980 29 20 61 6e 79 20 6f 6e 65 20 65 6e 74 69 74 79 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 ).any.one.entity...If.the.Docume
8c9a0 6e 74 20 61 6c 72 65 61 64 79 0a 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 nt.already.includes.a.cover.text
8c9c0 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 63 6f 76 65 72 2c 20 70 72 65 76 69 6f 75 73 6c 79 20 .for.the.same.cover,.previously.
8c9e0 61 64 64 65 64 20 62 79 20 79 6f 75 20 6f 72 0a 62 79 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 6d added.by.you.or.by.arrangement.m
8ca00 61 64 65 20 62 79 20 74 68 65 20 73 61 6d 65 20 65 6e 74 69 74 79 20 79 6f 75 20 61 72 65 20 61 ade.by.the.same.entity.you.are.a
8ca20 63 74 69 6e 67 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 2c 0a 79 6f 75 20 6d 61 79 20 6e 6f 74 20 cting.on.behalf.of,.you.may.not.
8ca40 61 64 64 20 61 6e 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 79 20 72 65 70 6c 61 63 65 add.another;.but.you.may.replace
8ca60 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2c 20 6f 6e 20 65 78 70 6c 69 63 69 74 0a 70 65 72 6d 69 73 .the.old.one,.on.explicit.permis
8ca80 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 75 62 6c 69 73 68 65 72 sion.from.the.previous.publisher
8caa0 20 74 68 61 74 20 61 64 64 65 64 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2e 0a 0a 54 68 65 20 61 75 .that.added.the.old.one...The.au
8cac0 74 68 6f 72 28 73 29 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 28 73 29 20 6f 66 20 74 68 65 20 thor(s).and.publisher(s).of.the.
8cae0 44 6f 63 75 6d 65 6e 74 20 64 6f 20 6e 6f 74 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a Document.do.not.by.this.License.
8cb00 67 69 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 69 72 20 6e 61 6d give.permission.to.use.their.nam
8cb20 65 73 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 66 6f 72 20 6f 72 20 74 6f 20 61 73 73 65 72 es.for.publicity.for.or.to.asser
8cb40 74 20 6f 72 0a 69 6d 70 6c 79 20 65 6e 64 6f 72 73 65 6d 65 6e 74 20 6f 66 20 61 6e 79 20 4d 6f t.or.imply.endorsement.of.any.Mo
8cb60 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 43 4f 4d 42 49 4e 49 4e 47 dified.Version...@item.COMBINING
8cb80 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 .DOCUMENTS..You.may.combine.the.
8cba0 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 Document.with.other.documents.re
8cbc0 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 75 6e 64 65 72 leased.under.this.License,.under
8cbe0 20 74 68 65 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 .the.terms.defined.in.section.4.
8cc00 61 62 6f 76 65 20 66 6f 72 20 6d 6f 64 69 66 69 65 64 0a 76 65 72 73 69 6f 6e 73 2c 20 70 72 6f above.for.modified.versions,.pro
8cc20 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 63 6f vided.that.you.include.in.the.co
8cc40 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 20 6f 66 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 20 53 mbination.all.of.the.Invariant.S
8cc60 65 63 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 ections.of.all.of.the.original.d
8cc80 6f 63 75 6d 65 6e 74 73 2c 20 75 6e 6d 6f 64 69 66 69 65 64 2c 20 61 6e 64 0a 6c 69 73 74 20 74 ocuments,.unmodified,.and.list.t
8cca0 68 65 6d 20 61 6c 6c 20 61 73 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 hem.all.as.Invariant.Sections.of
8ccc0 20 79 6f 75 72 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 69 6e 20 69 74 73 0a 6c 69 63 65 6e .your.combined.work.in.its.licen
8cce0 73 65 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 70 72 65 73 65 72 76 65 se.notice,.and.that.you.preserve
8cd00 20 61 6c 6c 20 74 68 65 69 72 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e .all.their.Warranty.Disclaimers.
8cd20 0a 0a 54 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 64 20 6f 6e 6c 79 20 63 6f ..The.combined.work.need.only.co
8cd40 6e 74 61 69 6e 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 ntain.one.copy.of.this.License,.
8cd60 61 6e 64 0a 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 69 63 61 6c 20 49 6e 76 61 72 69 61 6e 74 and.multiple.identical.Invariant
8cd80 20 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 61 .Sections.may.be.replaced.with.a
8cda0 20 73 69 6e 67 6c 65 0a 63 6f 70 79 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 75 6c 74 .single.copy...If.there.are.mult
8cdc0 69 70 6c 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 iple.Invariant.Sections.with.the
8cde0 20 73 61 6d 65 20 6e 61 6d 65 20 62 75 74 0a 64 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 65 6e 74 .same.name.but.different.content
8ce00 73 2c 20 6d 61 6b 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 65 61 63 68 20 73 75 63 68 20 73 s,.make.the.title.of.each.such.s
8ce20 65 63 74 69 6f 6e 20 75 6e 69 71 75 65 20 62 79 0a 61 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 ection.unique.by.adding.at.the.e
8ce40 6e 64 20 6f 66 20 69 74 2c 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 74 68 65 20 6e 61 nd.of.it,.in.parentheses,.the.na
8ce60 6d 65 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 61 75 74 68 6f 72 20 6f 72 20 70 75 62 me.of.the.original.author.or.pub
8ce80 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 20 73 65 63 74 69 6f 6e 20 69 66 20 6b 6e 6f 77 6e 2c lisher.of.that.section.if.known,
8cea0 20 6f 72 20 65 6c 73 65 20 61 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e 0a 4d 61 6b 65 20 74 .or.else.a.unique.number..Make.t
8cec0 68 65 20 73 61 6d 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 20 73 65 63 74 69 6f he.same.adjustment.to.the.sectio
8cee0 6e 20 74 69 74 6c 65 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 49 6e 76 61 72 69 61 6e n.titles.in.the.list.of.Invarian
8cf00 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 t.Sections.in.the.license.notice
8cf20 20 6f 66 20 74 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2e 0a 0a 49 6e 20 74 68 65 20 63 .of.the.combined.work...In.the.c
8cf40 6f 6d 62 69 6e 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 6f 6d 62 69 6e 65 20 61 6e 79 ombination,.you.must.combine.any
8cf60 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 0a 69 .sections.Entitled.``History''.i
8cf80 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 6f 72 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 n.the.various.original.documents
8cfa0 2c 20 66 6f 72 6d 69 6e 67 20 6f 6e 65 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 0a 60 ,.forming.one.section.Entitled.`
8cfc0 60 48 69 73 74 6f 72 79 27 27 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e 65 20 61 6e 79 `History'';.likewise.combine.any
8cfe0 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 65 .sections.Entitled.``Acknowledge
8d000 6d 65 6e 74 73 27 27 2c 0a 61 6e 64 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c ments'',.and.any.sections.Entitl
8d020 65 64 20 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2e 20 20 59 6f 75 20 6d 75 73 74 20 64 65 ed.``Dedications''...You.must.de
8d040 6c 65 74 65 20 61 6c 6c 0a 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 45 6e 64 lete.all.sections.Entitled.``End
8d060 6f 72 73 65 6d 65 6e 74 73 2e 27 27 0a 0a 40 69 74 65 6d 0a 43 4f 4c 4c 45 43 54 49 4f 4e 53 20 orsements.''..@item.COLLECTIONS.
8d080 4f 46 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 59 6f 75 20 6d 61 79 20 6d 61 6b 65 20 61 20 63 6f 6c OF.DOCUMENTS..You.may.make.a.col
8d0a0 6c 65 63 74 69 6f 6e 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 lection.consisting.of.the.Docume
8d0c0 6e 74 20 61 6e 64 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 0a 72 65 6c 65 61 73 65 64 20 nt.and.other.documents.released.
8d0e0 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 under.this.License,.and.replace.
8d100 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 4c 69 the.individual.copies.of.this.Li
8d120 63 65 6e 73 65 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 73 20 77 cense.in.the.various.documents.w
8d140 69 74 68 20 61 20 73 69 6e 67 6c 65 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 ith.a.single.copy.that.is.includ
8d160 65 64 20 69 6e 0a 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 74 ed.in.the.collection,.provided.t
8d180 68 61 74 20 79 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 74 68 69 73 hat.you.follow.the.rules.of.this
8d1a0 20 4c 69 63 65 6e 73 65 20 66 6f 72 0a 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 .License.for.verbatim.copying.of
8d1c0 20 65 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 73 20 69 6e 20 61 6c 6c 20 6f 74 .each.of.the.documents.in.all.ot
8d1e0 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 65 78 74 72 61 63 74 20 61 her.respects...You.may.extract.a
8d200 20 73 69 6e 67 6c 65 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 73 75 63 68 20 61 20 63 6f 6c .single.document.from.such.a.col
8d220 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 0a 69 74 20 69 6e 64 69 76 lection,.and.distribute.it.indiv
8d240 69 64 75 61 6c 6c 79 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 70 72 6f 76 idually.under.this.License,.prov
8d260 69 64 65 64 20 79 6f 75 20 69 6e 73 65 72 74 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 4c ided.you.insert.a.copy.of.this.L
8d280 69 63 65 6e 73 65 20 69 6e 74 6f 20 74 68 65 20 65 78 74 72 61 63 74 65 64 20 64 6f 63 75 6d 65 icense.into.the.extracted.docume
8d2a0 6e 74 2c 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 nt,.and.follow.this.License.in.a
8d2c0 6c 6c 0a 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e 67 20 76 65 72 62 ll.other.respects.regarding.verb
8d2e0 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 61 74 20 64 6f 63 75 6d 65 6e 74 2e 0a 0a atim.copying.of.that.document...
8d300 40 69 74 65 6d 0a 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 20 49 4e 44 45 50 45 4e 44 45 @item.AGGREGATION.WITH.INDEPENDE
8d320 4e 54 20 57 4f 52 4b 53 0a 0a 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 NT.WORKS..A.compilation.of.the.D
8d340 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 73 20 77 69 74 68 20 ocument.or.its.derivatives.with.
8d360 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 0a 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 64 other.separate.and.independent.d
8d380 6f 63 75 6d 65 6e 74 73 20 6f 72 20 77 6f 72 6b 73 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f ocuments.or.works,.in.or.on.a.vo
8d3a0 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 0a 64 69 73 74 72 69 62 75 74 69 6f lume.of.a.storage.or.distributio
8d3c0 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 20 60 60 61 67 67 72 65 67 61 n.medium,.is.called.an.``aggrega
8d3e0 74 65 27 27 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 72 65 73 75 6c 74 69 6e 67 20 te''.if.the.copyright.resulting.
8d400 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 64 from.the.compilation.is.not.used
8d420 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 6c 65 67 61 6c 20 72 69 67 68 74 73 0a 6f 66 20 74 68 .to.limit.the.legal.rights.of.th
8d440 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 e.compilation's.users.beyond.wha
8d460 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 0a 57 t.the.individual.works.permit..W
8d480 68 65 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 hen.the.Document.is.included.in.
8d4a0 61 6e 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 an.aggregate,.this.License.does.
8d4c0 6e 6f 74 0a 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 73 20 69 6e 20 not.apply.to.the.other.works.in.
8d4e0 74 68 65 20 61 67 67 72 65 67 61 74 65 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 74 68 65 6d the.aggregate.which.are.not.them
8d500 73 65 6c 76 65 73 0a 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 44 selves.derivative.works.of.the.D
8d520 6f 63 75 6d 65 6e 74 2e 0a 0a 49 66 20 74 68 65 20 43 6f 76 65 72 20 54 65 78 74 20 72 65 71 75 ocument...If.the.Cover.Text.requ
8d540 69 72 65 6d 65 6e 74 20 6f 66 20 73 65 63 74 69 6f 6e 20 33 20 69 73 20 61 70 70 6c 69 63 61 62 irement.of.section.3.is.applicab
8d560 6c 65 20 74 6f 20 74 68 65 73 65 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 le.to.these.copies.of.the.Docume
8d580 6e 74 2c 20 74 68 65 6e 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 6c 65 73 73 nt,.then.if.the.Document.is.less
8d5a0 20 74 68 61 6e 20 6f 6e 65 20 68 61 6c 66 20 6f 66 0a 74 68 65 20 65 6e 74 69 72 65 20 61 67 67 .than.one.half.of.the.entire.agg
8d5c0 72 65 67 61 74 65 2c 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 27 73 20 43 6f 76 65 72 20 54 65 78 regate,.the.Document's.Cover.Tex
8d5e0 74 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 6f 6e 0a 63 6f 76 65 72 73 20 74 68 61 74 20 ts.may.be.placed.on.covers.that.
8d600 62 72 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 69 6e 20 74 68 65 20 bracket.the.Document.within.the.
8d620 61 67 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 65 6c 65 63 74 72 6f 6e 69 63 20 65 71 75 aggregate,.or.the.electronic.equ
8d640 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 65 72 73 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ivalent.of.covers.if.the.Documen
8d660 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 6f 6e 69 63 20 66 6f 72 6d 2e 0a 4f 74 68 65 72 77 69 t.is.in.electronic.form..Otherwi
8d680 73 65 20 74 68 65 79 20 6d 75 73 74 20 61 70 70 65 61 72 20 6f 6e 20 70 72 69 6e 74 65 64 20 63 se.they.must.appear.on.printed.c
8d6a0 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b 65 74 20 74 68 65 20 77 68 6f 6c 65 0a 61 67 67 overs.that.bracket.the.whole.agg
8d6c0 72 65 67 61 74 65 2e 0a 0a 40 69 74 65 6d 0a 54 52 41 4e 53 4c 41 54 49 4f 4e 0a 0a 54 72 61 6e regate...@item.TRANSLATION..Tran
8d6e0 73 6c 61 74 69 6f 6e 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 slation.is.considered.a.kind.of.
8d700 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 73 6f 20 79 6f 75 20 6d 61 79 0a 64 69 73 74 72 69 62 modification,.so.you.may.distrib
8d720 75 74 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 ute.translations.of.the.Document
8d740 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2e 0a 52 .under.the.terms.of.section.4..R
8d760 65 70 6c 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 eplacing.Invariant.Sections.with
8d780 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 65 73 20 73 70 65 63 69 61 6c 0a 70 .translations.requires.special.p
8d7a0 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 69 72 20 63 6f 70 79 72 69 67 68 74 20 68 ermission.from.their.copyright.h
8d7c0 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 74 72 61 6e olders,.but.you.may.include.tran
8d7e0 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 49 6e 76 61 72 69 61 6e slations.of.some.or.all.Invarian
8d800 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 0a 6f 72 t.Sections.in.addition.to.the.or
8d820 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 73 65 20 49 6e 76 61 72 69 61 iginal.versions.of.these.Invaria
8d840 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 61 0a nt.Sections...You.may.include.a.
8d860 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 translation.of.this.License,.and
8d880 20 61 6c 6c 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 69 6e 20 74 68 65 0a .all.the.license.notices.in.the.
8d8a0 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c Document,.and.any.Warranty.Discl
8d8c0 61 69 6d 65 72 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 69 aimers,.provided.that.you.also.i
8d8e0 6e 63 6c 75 64 65 0a 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c 69 73 68 20 76 65 72 73 nclude.the.original.English.vers
8d900 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 68 65 20 6f 72 69 67 ion.of.this.License.and.the.orig
8d920 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 6f 73 65 20 6e 6f 74 69 63 65 73 20 61 inal.versions.of.those.notices.a
8d940 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 20 64 69 nd.disclaimers...In.case.of.a.di
8d960 73 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 65 65 6e 0a 74 68 65 20 74 72 61 6e 73 6c 61 74 69 sagreement.between.the.translati
8d980 6f 6e 20 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 on.and.the.original.version.of.t
8d9a0 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 72 20 61 20 6e 6f 74 69 63 65 0a 6f 72 20 64 69 73 63 6c his.License.or.a.notice.or.discl
8d9c0 61 69 6d 65 72 2c 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c aimer,.the.original.version.will
8d9e0 20 70 72 65 76 61 69 6c 2e 0a 0a 49 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 44 .prevail...If.a.section.in.the.D
8da00 6f 63 75 6d 65 6e 74 20 69 73 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 ocument.is.Entitled.``Acknowledg
8da20 65 6d 65 6e 74 73 27 27 2c 0a 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 6f 72 20 60 60 ements'',.``Dedications'',.or.``
8da40 48 69 73 74 6f 72 79 27 27 2c 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 28 73 65 63 74 History'',.the.requirement.(sect
8da60 69 6f 6e 20 34 29 20 74 6f 20 50 72 65 73 65 72 76 65 0a 69 74 73 20 54 69 74 6c 65 20 28 73 65 ion.4).to.Preserve.its.Title.(se
8da80 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 72 65 71 75 69 72 65 20 ction.1).will.typically.require.
8daa0 63 68 61 6e 67 69 6e 67 20 74 68 65 20 61 63 74 75 61 6c 0a 74 69 74 6c 65 2e 0a 0a 40 69 74 65 changing.the.actual.title...@ite
8dac0 6d 0a 54 45 52 4d 49 4e 41 54 49 4f 4e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c m.TERMINATION..You.may.not.copy,
8dae0 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 .modify,.sublicense,.or.distribu
8db00 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 te.the.Document.except.as.expres
8db20 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e sly.provided.under.this.License.
8db40 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c ..Any.attempt.otherwise.to.copy,
8db60 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 .modify,.sublicense,.or.distribu
8db80 74 65 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 0a 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 te.it.is.void,.and.will.automati
8dba0 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 cally.terminate.your.rights.unde
8dbc0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 r.this.License...However,.if.you
8dbe0 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 .cease.all.violation.of.this.Lic
8dc00 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 0a 66 72 6f 6d 20 61 20 70 ense,.then.your.license.from.a.p
8dc20 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 articular.copyright.holder.is.re
8dc40 69 6e 73 74 61 74 65 64 20 28 61 29 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 0a 75 6e 6c 65 instated.(a).provisionally,.unle
8dc60 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 ss.and.until.the.copyright.holde
8dc80 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 66 69 6e 61 6c 6c 79 0a 74 65 72 6d 69 6e 61 r.explicitly.and.finally.termina
8dca0 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e tes.your.license,.and.(b).perman
8dcc0 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 0a 66 ently,.if.the.copyright.holder.f
8dce0 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 ails.to.notify.you.of.the.violat
8dd00 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 ion.by.some.reasonable.means.pri
8dd20 6f 72 20 74 6f 0a 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f or.to.60.days.after.the.cessatio
8dd40 6e 2e 0a 0a 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 n...Moreover,.your.license.from.
8dd60 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
8dd80 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
8dda0 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
8ddc0 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
8dde0 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
8de00 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
8de20 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f tion.of.this.License.(for.any.wo
8de40 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
8de60 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 and.you.cure.the.violation.prior
8de80 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
8dea0 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f f.the.notice...Termination.of.yo
8dec0 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 ur.rights.under.this.section.doe
8dee0 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f 66 20 s.not.terminate.the.licenses.of.
8df00 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 parties.who.have.received.copies
8df20 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 20 4c .or.rights.from.you.under.this.L
8df40 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 65 65 icense...If.your.rights.have.bee
8df60 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 6c 79 n.terminated.and.not.permanently
8df80 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 63 6f 70 79 20 6f .reinstated,.receipt.of.a.copy.o
8dfa0 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6d 61 74 65 72 69 f.some.or.all.of.the.same.materi
8dfc0 61 6c 20 64 6f 65 73 0a 6e 6f 74 20 67 69 76 65 20 79 6f 75 20 61 6e 79 20 72 69 67 68 74 73 20 al.does.not.give.you.any.rights.
8dfe0 74 6f 20 75 73 65 20 69 74 2e 0a 0a 40 69 74 65 6d 0a 46 55 54 55 52 45 20 52 45 56 49 53 49 4f to.use.it...@item.FUTURE.REVISIO
8e000 4e 53 20 4f 46 20 54 48 49 53 20 4c 49 43 45 4e 53 45 0a 0a 54 68 65 20 46 72 65 65 20 53 6f 66 NS.OF.THIS.LICENSE..The.Free.Sof
8e020 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 6e 65 77 tware.Foundation.may.publish.new
8e040 2c 20 72 65 76 69 73 65 64 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 46 72 ,.revised.versions.of.the.GNU.Fr
8e060 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 ee.Documentation.License.from.ti
8e080 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 76 65 72 73 69 6f 6e 73 20 77 me.to.time...Such.new.versions.w
8e0a0 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 ill.be.similar.in.spirit.to.the.
8e0c0 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 64 69 66 66 65 72 20 present.version,.but.may.differ.
8e0e0 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d in.detail.to.address.new.problem
8e100 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 20 20 53 65 65 0a 40 75 72 65 66 7b 68 74 74 70 73 3a s.or.concerns...See.@uref{https:
8e120 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 7d 2e 0a 0a 45 61 63 68 20 //www.gnu.org/licenses/}...Each.
8e140 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 67 69 76 65 6e 20 version.of.the.License.is.given.
8e160 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e a.distinguishing.version.number.
8e180 0a 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 .If.the.Document.specifies.that.
8e1a0 61 20 70 61 72 74 69 63 75 6c 61 72 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 a.particular.numbered.version.of
8e1c0 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 60 60 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 .this.License.``or.any.later.ver
8e1e0 73 69 6f 6e 27 27 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 sion''.applies.to.it,.you.have.t
8e200 68 65 20 6f 70 74 69 6f 6e 20 6f 66 0a 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 he.option.of.following.the.terms
8e220 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 73 .and.conditions.either.of.that.s
8e240 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 0a 6f 66 20 61 6e 79 20 6c 61 74 65 72 pecified.version.or.of.any.later
8e260 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 70 75 62 6c 69 73 68 65 64 .version.that.has.been.published
8e280 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 0a 46 72 65 65 20 53 6f .(not.as.a.draft).by.the.Free.So
8e2a0 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d ftware.Foundation...If.the.Docum
8e2c0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 0a 6e ent.does.not.specify.a.version.n
8e2e0 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 63 umber.of.this.License,.you.may.c
8e300 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 hoose.any.version.ever.published
8e320 20 28 6e 6f 74 0a 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f .(not.as.a.draft).by.the.Free.So
8e340 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d ftware.Foundation...If.the.Docum
8e360 65 6e 74 0a 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 ent.specifies.that.a.proxy.can.d
8e380 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 ecide.which.future.versions.of.t
8e3a0 68 69 73 0a 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 20 70 72 his.License.can.be.used,.that.pr
8e3c0 6f 78 79 27 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 74 oxy's.public.statement.of.accept
8e3e0 61 6e 63 65 20 6f 66 20 61 0a 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 ance.of.a.version.permanently.au
8e400 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 thorizes.you.to.choose.that.vers
8e420 69 6f 6e 20 66 6f 72 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 52 45 4c ion.for.the.Document...@item.REL
8e440 49 43 45 4e 53 49 4e 47 0a 0a 60 60 4d 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 ICENSING..``Massive.Multiauthor.
8e460 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 20 53 69 74 65 27 27 20 28 6f 72 20 60 60 4d 4d 43 20 53 Collaboration.Site''.(or.``MMC.S
8e480 69 74 65 27 27 29 20 6d 65 61 6e 73 20 61 6e 79 0a 57 6f 72 6c 64 20 57 69 64 65 20 57 65 62 20 ite'').means.any.World.Wide.Web.
8e4a0 73 65 72 76 65 72 20 74 68 61 74 20 70 75 62 6c 69 73 68 65 73 20 63 6f 70 79 72 69 67 68 74 61 server.that.publishes.copyrighta
8e4c0 62 6c 65 20 77 6f 72 6b 73 20 61 6e 64 20 61 6c 73 6f 0a 70 72 6f 76 69 64 65 73 20 70 72 6f 6d ble.works.and.also.provides.prom
8e4e0 69 6e 65 6e 74 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 62 6f 64 79 20 74 6f 20 inent.facilities.for.anybody.to.
8e500 65 64 69 74 20 74 68 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 70 75 62 6c 69 63 20 77 69 6b 69 edit.those.works...A.public.wiki
8e520 20 74 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 64 69 74 20 69 73 20 61 6e 20 65 78 61 .that.anybody.can.edit.is.an.exa
8e540 6d 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 65 72 2e 20 20 41 0a 60 60 4d 61 73 73 mple.of.such.a.server...A.``Mass
8e560 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 27 27 20 ive.Multiauthor.Collaboration''.
8e580 28 6f 72 20 60 60 4d 4d 43 27 27 29 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 73 69 (or.``MMC'').contained.in.the.si
8e5a0 74 65 20 6d 65 61 6e 73 20 61 6e 79 20 73 65 74 20 6f 66 20 63 6f 70 79 72 69 67 68 74 61 62 6c te.means.any.set.of.copyrightabl
8e5c0 65 20 77 6f 72 6b 73 20 74 68 75 73 20 70 75 62 6c 69 73 68 65 64 20 6f 6e 20 74 68 65 20 4d 4d e.works.thus.published.on.the.MM
8e5e0 43 0a 73 69 74 65 2e 0a 0a 60 60 43 43 2d 42 59 2d 53 41 27 27 20 6d 65 61 6e 73 20 74 68 65 20 C.site...``CC-BY-SA''.means.the.
8e600 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 2d 53 68 61 Creative.Commons.Attribution-Sha
8e620 72 65 20 41 6c 69 6b 65 20 33 2e 30 0a 6c 69 63 65 6e 73 65 20 70 75 62 6c 69 73 68 65 64 20 62 re.Alike.3.0.license.published.b
8e640 79 20 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2c 20 y.Creative.Commons.Corporation,.
8e660 61 20 6e 6f 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 63 6f 72 70 6f 72 61 74 69 6f 6e 20 77 69 74 a.not-for-profit.corporation.wit
8e680 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c 61 63 65 20 6f 66 20 62 75 73 69 6e 65 73 73 20 h.a.principal.place.of.business.
8e6a0 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 43 61 6c 69 66 6f 72 6e 69 61 2c 20 61 73 in.San.Francisco,.California,.as
8e6c0 20 77 65 6c 6c 20 61 73 20 66 75 74 75 72 65 20 63 6f 70 79 6c 65 66 74 20 76 65 72 73 69 6f 6e .well.as.future.copyleft.version
8e6e0 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 0a 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 s.of.that.license.published.by.t
8e700 68 61 74 20 73 61 6d 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2e 0a 0a 60 60 49 6e 63 6f 72 70 hat.same.organization...``Incorp
8e720 6f 72 61 74 65 27 27 20 6d 65 61 6e 73 20 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 75 orate''.means.to.publish.or.repu
8e740 62 6c 69 73 68 20 61 20 44 6f 63 75 6d 65 6e 74 2c 20 69 6e 20 77 68 6f 6c 65 20 6f 72 0a 69 6e blish.a.Document,.in.whole.or.in
8e760 20 70 61 72 74 2c 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 6f 74 68 65 72 20 44 6f 63 75 6d 65 .part,.as.part.of.another.Docume
8e780 6e 74 2e 0a 0a 41 6e 20 4d 4d 43 20 69 73 20 60 60 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 nt...An.MMC.is.``eligible.for.re
8e7a0 6c 69 63 65 6e 73 69 6e 67 27 27 20 69 66 20 69 74 20 69 73 20 6c 69 63 65 6e 73 65 64 20 75 6e licensing''.if.it.is.licensed.un
8e7c0 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 66 20 61 6c 6c 20 77 6f 72 der.this.License,.and.if.all.wor
8e7e0 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 69 72 73 74 20 70 75 62 6c 69 73 68 65 64 20 75 6e 64 ks.that.were.first.published.und
8e800 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 73 6f 6d 65 77 68 65 72 65 20 6f 74 68 65 72 20 er.this.License.somewhere.other.
8e820 74 68 61 6e 20 74 68 69 73 20 4d 4d 43 2c 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 than.this.MMC,.and.subsequently.
8e840 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 69 6e 20 77 68 6f 6c 65 0a 6f 72 20 69 6e 20 70 61 72 74 incorporated.in.whole.or.in.part
8e860 20 69 6e 74 6f 20 74 68 65 20 4d 4d 43 2c 20 28 31 29 20 68 61 64 20 6e 6f 20 63 6f 76 65 72 20 .into.the.MMC,.(1).had.no.cover.
8e880 74 65 78 74 73 20 6f 72 20 69 6e 76 61 72 69 61 6e 74 20 73 65 63 74 69 6f 6e 73 2c 0a 61 6e 64 texts.or.invariant.sections,.and
8e8a0 20 28 32 29 20 77 65 72 65 20 74 68 75 73 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 70 72 69 6f .(2).were.thus.incorporated.prio
8e8c0 72 20 74 6f 20 4e 6f 76 65 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 54 68 65 20 6f 70 65 72 r.to.November.1,.2008...The.oper
8e8e0 61 74 6f 72 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d 61 79 20 72 65 70 75 62 6c 69 73 ator.of.an.MMC.Site.may.republis
8e900 68 20 61 6e 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 73 69 74 65 0a 75 h.an.MMC.contained.in.the.site.u
8e920 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 69 74 65 20 61 nder.CC-BY-SA.on.the.same.site.a
8e940 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 65 20 41 75 67 75 73 74 20 31 2c 20 32 30 30 39 t.any.time.before.August.1,.2009
8e960 2c 0a 70 72 6f 76 69 64 65 64 20 74 68 65 20 4d 4d 43 20 69 73 20 65 6c 69 67 69 62 6c 65 20 66 ,.provided.the.MMC.is.eligible.f
8e980 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 2e 0a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a or.relicensing...@end.enumerate.
8e9a0 0a 40 70 61 67 65 0a 40 68 65 61 64 69 6e 67 20 41 44 44 45 4e 44 55 4d 3a 20 48 6f 77 20 74 6f .@page.@heading.ADDENDUM:.How.to
8e9c0 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 79 6f 75 72 20 64 6f 63 75 6d .use.this.License.for.your.docum
8e9e0 65 6e 74 73 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 20 64 ents..To.use.this.License.in.a.d
8ea00 6f 63 75 6d 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 74 65 6e 2c 20 69 6e 63 6c 75 64 ocument.you.have.written,.includ
8ea20 65 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 20 64 e.a.copy.of.the.License.in.the.d
8ea40 6f 63 75 6d 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f ocument.and.put.the.following.co
8ea60 70 79 72 69 67 68 74 20 61 6e 64 0a 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 6a 75 73 74 pyright.and.license.notices.just
8ea80 20 61 66 74 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 3a 0a 0a 40 73 6d 61 6c 6c 65 78 .after.the.title.page:..@smallex
8eaa0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 20 40 76 ample.@group...Copyright.(C)..@v
8eac0 61 72 7b 79 65 61 72 7d 20 20 40 76 61 72 7b 79 6f 75 72 20 6e 61 6d 65 7d 2e 0a 20 20 50 65 72 ar{year}..@var{your.name}....Per
8eae0 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 mission.is.granted.to.copy,.dist
8eb00 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 ribute.and/or.modify.this.docume
8eb20 6e 74 0a 20 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 nt...under.the.terms.of.the.GNU.
8eb40 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 Free.Documentation.License,.Vers
8eb60 69 6f 6e 20 31 2e 33 0a 20 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 ion.1.3...or.any.later.version.p
8eb80 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f ublished.by.the.Free.Software.Fo
8eba0 75 6e 64 61 74 69 6f 6e 3b 0a 20 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 undation;...with.no.Invariant.Se
8ebc0 63 74 69 6f 6e 73 2c 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 61 6e ctions,.no.Front-Cover.Texts,.an
8ebe0 64 20 6e 6f 20 42 61 63 6b 2d 43 6f 76 65 72 0a 20 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 d.no.Back-Cover...Texts...A.copy
8ec00 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 .of.the.license.is.included.in.t
8ec20 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 0a 20 20 46 72 65 65 he.section.entitled.``GNU...Free
8ec40 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e 64 20 67 .Documentation.License''..@end.g
8ec60 72 6f 75 70 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 68 roup.@end.smallexample..If.you.h
8ec80 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 46 72 6f 6e 74 2d 43 6f ave.Invariant.Sections,.Front-Co
8eca0 76 65 72 20 54 65 78 74 73 20 61 6e 64 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 0a ver.Texts.and.Back-Cover.Texts,.
8ecc0 72 65 70 6c 61 63 65 20 74 68 65 20 60 60 77 69 74 68 40 64 6f 74 73 7b 7d 54 65 78 74 73 2e 27 replace.the.``with@dots{}Texts.'
8ece0 27 40 3a 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 73 3a 0a 0a 40 73 6d 61 6c 6c 65 78 61 6d 70 '@:.line.with.this:..@smallexamp
8ed00 6c 65 0a 40 67 72 6f 75 70 0a 20 20 20 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 le.@group.....with.the.Invariant
8ed20 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 20 74 68 65 69 72 20 .Sections.being.@var{list.their.
8ed40 74 69 74 6c 65 73 7d 2c 20 77 69 74 68 0a 20 20 20 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 titles},.with.....the.Front-Cove
8ed60 72 20 54 65 78 74 73 20 62 65 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 77 69 r.Texts.being.@var{list},.and.wi
8ed80 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 0a 20 20 20 20 62 65 69 6e th.the.Back-Cover.Texts.....bein
8eda0 67 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 73 6d g.@var{list}..@end.group.@end.sm
8edc0 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e allexample..If.you.have.Invarian
8ede0 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 t.Sections.without.Cover.Texts,.
8ee00 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 or.some.other.combination.of.the
8ee20 20 74 68 72 65 65 2c 20 6d 65 72 67 65 20 74 68 6f 73 65 20 74 77 6f 20 61 6c 74 65 72 6e 61 74 .three,.merge.those.two.alternat
8ee40 69 76 65 73 20 74 6f 20 73 75 69 74 20 74 68 65 0a 73 69 74 75 61 74 69 6f 6e 2e 0a 0a 49 66 20 ives.to.suit.the.situation...If.
8ee60 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 6e 74 72 69 76 69 61 your.document.contains.nontrivia
8ee80 6c 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 70 72 6f 67 72 61 6d 20 63 6f 64 65 2c 20 77 65 0a 72 l.examples.of.program.code,.we.r
8eea0 65 63 6f 6d 6d 65 6e 64 20 72 65 6c 65 61 73 69 6e 67 20 74 68 65 73 65 20 65 78 61 6d 70 6c 65 ecommend.releasing.these.example
8eec0 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 75 6e 64 65 72 20 79 6f 75 72 20 63 68 6f 69 63 65 20 s.in.parallel.under.your.choice.
8eee0 6f 66 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 6c 69 63 65 6e 73 65 2c 20 73 75 63 68 20 61 of.free.software.license,.such.a
8ef00 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 s.the.GNU.General.Public.License
8ef20 2c 0a 74 6f 20 70 65 72 6d 69 74 20 74 68 65 69 72 20 75 73 65 20 69 6e 20 66 72 65 65 20 73 6f ,.to.permit.their.use.in.free.so
8ef40 66 74 77 61 72 65 2e 0a 0a 40 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 40 63 20 ftware...@c.Local.Variables:.@c.
8ef60 69 73 70 65 6c 6c 2d 6c 6f 63 61 6c 2d 70 64 69 63 74 3a 20 22 69 73 70 65 6c 6c 2d 64 69 63 74 ispell-local-pdict:."ispell-dict
8ef80 22 0a 40 63 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ".@c.End:.......................
8efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f000 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 61 73 68 2e 74 65 78 69 00 00 00 00 00 00 00 00 00 00 00 dash-2.20.0/dash.texi...........
8f020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
8f080 30 33 37 32 32 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 37 32 00 20 30 00 00 00 0372212.00000000000.012772..0...
8f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
8f120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
8f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f200 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
8f220 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
8f240 69 6c 65 6e 61 6d 65 20 64 61 73 68 2e 69 6e 66 6f 0a 40 73 65 74 20 44 41 53 48 56 45 52 20 32 ilename.dash.info.@set.DASHVER.2
8f260 2e 32 30 2e 30 0a 40 73 65 74 74 69 74 6c 65 20 44 61 73 68 3a 20 41 20 6d 6f 64 65 72 6e 20 6c .20.0.@settitle.Dash:.A.modern.l
8f280 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 40 64 6f 63 75 ist.library.for.GNU.Emacs..@docu
8f2a0 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 mentencoding.UTF-8.@documentlang
8f2c0 75 61 67 65 20 65 6e 0a 40 63 20 25 2a 2a 65 6e 64 20 6f 66 20 68 65 61 64 65 72 0a 0a 40 63 6f uage.en.@c.%**end.of.header..@co
8f2e0 70 79 69 6e 67 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 pying.This.manual.is.for.Dash.ve
8f300 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 0a 43 6f 70 79 72 69 67 68 rsion.@value{DASHVER}...Copyrigh
8f320 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 31 32 2d 2d 32 30 32 35 20 46 72 65 65 20 53 t.@copyright{}.2012--2025.Free.S
8f340 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 40 71 75 6f 74 61 oftware.Foundation,.Inc...@quota
8f360 74 69 6f 6e 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f tion.Permission.is.granted.to.co
8f380 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 py,.distribute.and/or.modify.thi
8f3a0 73 20 64 6f 63 75 6d 65 6e 74 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 s.document.under.the.terms.of.th
8f3c0 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e.GNU.Free.Documentation.License
8f3e0 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 0a 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 ,.Version.1.3.or.any.later.versi
8f400 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 on.published.by.the.Free.Softwar
8f420 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 e.Foundation;.with.the.Invariant
8f440 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 60 60 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .Sections.being.``GNU.General.Pu
8f460 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 27 27 20 61 6e 64 20 6e 6f 0a 46 72 6f 6e 74 2d 43 6f 76 blic.License,''.and.no.Front-Cov
8f480 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 er.Texts.or.Back-Cover.Texts...A
8f4a0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 0a 69 6e 63 6c 75 64 65 64 .copy.of.the.license.is.included
8f4c0 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 20 46 .in.the.section.entitled.``GNU.F
8f4e0 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e ree.Documentation.License''..@en
8f500 64 20 71 75 6f 74 61 74 69 6f 6e 0a 40 65 6e 64 20 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 d.quotation.@end.copying..@dirca
8f520 74 65 67 6f 72 79 20 45 6d 61 63 73 0a 40 64 69 72 65 6e 74 72 79 0a 2a 20 44 61 73 68 3a 20 28 tegory.Emacs.@direntry.*.Dash:.(
8f540 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 dash.info).....A.modern.list.lib
8f560 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 40 65 6e 64 20 64 69 72 65 6e 74 72 rary.for.GNU.Emacs..@end.direntr
8f580 79 0a 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 74 6c 65 20 44 61 73 68 20 4d 61 6e 75 61 6c y..@titlepage.@title.Dash.Manual
8f5a0 0a 40 73 75 62 74 69 74 6c 65 20 46 6f 72 20 44 61 73 68 20 56 65 72 73 69 6f 6e 20 40 76 61 6c .@subtitle.For.Dash.Version.@val
8f5c0 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 40 61 75 74 68 6f 72 20 4d 61 67 6e 61 72 20 53 76 65 65 ue{DASHVER}..@author.Magnar.Svee
8f5e0 6e 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 n.@page.@vskip.0pt.plus.1filll.@
8f600 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 insertcopying.@end.titlepage..@c
8f620 6f 6e 74 65 6e 74 73 0a 0a 40 69 66 6e 6f 74 74 65 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f ontents..@ifnottex.@node.Top.@to
8f640 70 20 44 61 73 68 0a 0a 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 69 66 6e 6f p.Dash..@insertcopying.@end.ifno
8f660 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 ttex..@menu.*.Installation::....
8f680 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 ....Installing.and.configuring.D
8f6a0 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 ash..*.Functions::...........Das
8f6c0 68 20 41 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a h.API.reference..*.Development::
8f6e0 20 20 20 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 .........Contributing.to.Dash.de
8f700 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 velopment...Appendices..*.FDL::.
8f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 ................The.license.for.
8f740 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 this.documentation..*.GPL::.....
8f760 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 ............Conditions.for.copyi
8f780 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 ng.and.changing.Dash..*.Index::.
8f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 ..............Index.including.fu
8f7c0 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 2e 0a 0a 40 64 65 74 61 69 6c 6d 65 6e 75 nctions.and.macros...@detailmenu
8f7e0 0a 20 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 ..---.The.Detailed.Node.Listing.
8f800 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 ---..Installation..*.Using.in.a.
8f820 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 package::..Listing.Dash.as.a.pac
8f840 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e kage.dependency..*.Fontification
8f860 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f .of.special.variables::..Font.Lo
8f880 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e ck.of.anaphoric.macro.variables.
8f8a0 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 .*.Info.symbol.lookup::..Looking
8f8c0 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e .up.Dash.symbols.in.this.manual.
8f8e0 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 4d 61 70 73 3a 3a 0a 2a 20 53 75 62 6c 69 73 74 20 ..Functions..*.Maps::.*.Sublist.
8f900 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 3a 3a 0a 2a 20 52 selection::.*.List.to.list::.*.R
8f920 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e 67 3a 3a 0a 2a 20 50 72 65 64 eductions::.*.Unfolding::.*.Pred
8f940 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 3a 3a 0a 2a 20 49 6e 64 65 icates::.*.Partitioning::.*.Inde
8f960 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 4f 74 68 65 xing::.*.Set.operations::.*.Othe
8f980 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 72 65 65 20 6f 70 65 72 61 r.list.operations::.*.Tree.opera
8f9a0 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 3a 3a 0a 2a 20 42 tions::.*.Threading.macros::.*.B
8f9c0 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 73 3a 3a 0a 2a 20 44 65 73 74 inding::.*.Side.effects::.*.Dest
8f9e0 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 ructive.operations::.*.Function.
8fa00 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 2a 20 43 6f combinators::..Development..*.Co
8fa20 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 ntribute::..........How.to.contr
8fa40 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c ibute..*.Contributors::........L
8fa60 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 64 65 74 61 69 6c ist.of.contributors..@end.detail
8fa80 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 menu.@end.menu..@node.Installati
8faa0 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 on.@chapter.Installation..Dash.i
8fac0 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 65 6c 70 61 s.available.on.@url{https://elpa
8fae0 2e 67 6e 75 2e 6f 72 67 2f 2c 20 47 4e 55 20 45 4c 50 41 7d 2c 0a 40 75 72 6c 7b 68 74 74 70 73 .gnu.org/,.GNU.ELPA},.@url{https
8fb00 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 2c 20 47 4e 55 2d 64 65 76 65 ://elpa.gnu.org/devel/,.GNU-deve
8fb20 6c 20 45 4c 50 41 7d 2c 20 61 6e 64 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e l.ELPA},.and.@url{https://melpa.
8fb40 6f 72 67 2f 2c 20 4d 45 4c 50 41 7d 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 69 6e 73 74 61 6c 6c org/,.MELPA},.and.can.be.install
8fb60 65 64 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 40 63 6f ed.with.the.standard.command.@co
8fb80 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 28 40 70 78 72 65 66 7b 50 61 63 6b de{package-install}.(@pxref{Pack
8fba0 61 67 65 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 age.Installation,,,.emacs,.The.G
8fbc0 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 74 61 62 6c 65 20 40 6b 62 64 0a NU.Emacs.Manual})...@table.@kbd.
8fbe0 40 69 74 65 6d 20 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 40 6b 65 79 7b 52 @item.M-x.package-install.@key{R
8fc00 45 54 7d 20 64 61 73 68 20 40 6b 65 79 7b 52 45 54 7d 0a 49 6e 73 74 61 6c 6c 20 74 68 65 20 44 ET}.dash.@key{RET}.Install.the.D
8fc20 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 41 6c 74 65 72 6e 61 ash.library..@end.table..Alterna
8fc40 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 40 66 69 6c 65 7b tively,.you.can.just.dump.@file{
8fc60 64 61 73 68 2e 65 6c 7d 20 69 6e 20 79 6f 75 72 0a 40 63 6f 64 65 7b 6c 6f 61 64 2d 70 61 74 68 dash.el}.in.your.@code{load-path
8fc80 7d 20 73 6f 6d 65 77 68 65 72 65 20 28 40 70 78 72 65 66 7b 4c 69 73 70 20 4c 69 62 72 61 72 69 }.somewhere.(@pxref{Lisp.Librari
8fca0 65 73 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 0a 45 6d 61 63 73 20 4d 61 6e 75 61 es,,,.emacs,.The.GNU.Emacs.Manua
8fcc0 6c 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 l})...@menu.*.Using.in.a.package
8fce0 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 ::..Listing.Dash.as.a.package.de
8fd00 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 pendency..*.Fontification.of.spe
8fd20 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 cial.variables::..Font.Lock.of.a
8fd40 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f naphoric.macro.variables..*.Info
8fd60 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 .symbol.lookup::..Looking.up.Das
8fd80 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 40 65 6e 64 20 6d h.symbols.in.this.manual..@end.m
8fda0 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 40 73 enu..@node.Using.in.a.package.@s
8fdc0 65 63 74 69 6f 6e 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 49 66 20 79 6f ection.Using.in.a.package..If.yo
8fde0 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 u.use.Dash.in.your.own.package,.
8fe00 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 0a 64 65 70 65 6e 64 65 6e be.sure.to.list.it.as.a.dependen
8fe20 63 79 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 20 68 65 61 64 65 72 73 20 61 73 20 66 cy.in.the.library's.headers.as.f
8fe40 6f 6c 6c 6f 77 73 20 28 40 70 78 72 65 66 7b 4c 69 62 72 61 72 79 0a 48 65 61 64 65 72 73 2c 2c ollows.(@pxref{Library.Headers,,
8fe60 2c 20 65 6c 69 73 70 2c 20 54 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 52 65 66 65 72 65 6e 63 ,.elisp,.The.Emacs.Lisp.Referenc
8fe80 65 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 e.Manual})...@lisp.;;.Package-Re
8fea0 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 22 quires:.((dash."@value{DASHVER}"
8fec0 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 69 66 69 63 61 74 69 6f )).@end.lisp..@node.Fontificatio
8fee0 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 n.of.special.variables.@section.
8ff00 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c Fontification.of.special.variabl
8ff20 65 73 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 68 es..@findex.dash-fontify-mode.Th
8ff40 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 40 63 6f 64 65 7b 64 61 e.autoloaded.minor.mode.@code{da
8ff60 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 20 69 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 sh-fontify-mode}.is.provided.for
8ff80 0a 6f 70 74 69 6f 6e 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 61 6e 61 70 68 .optional.fontification.of.anaph
8ffa0 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 40 63 6f 64 65 7b 69 74 7d 2c 0a oric.Dash.variables.(@code{it},.
8ffc0 40 63 6f 64 65 7b 61 63 63 7d 2c 20 65 74 63 2e 40 3a 29 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 @code{acc},.etc.@:).in.Emacs.Lis
8ffe0 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 46 6f 6e p.buffers.using.search-based.Fon
90000 74 20 4c 6f 63 6b 0a 28 40 70 78 72 65 66 7b 46 6f 6e 74 20 4c 6f 63 6b 2c 2c 2c 20 65 6d 61 63 t.Lock.(@pxref{Font.Lock,,,.emac
90020 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 49 6e 20 6f s,.The.GNU.Emacs.Manual})...In.o
90040 6c 64 65 72 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 lder.Emacs.versions.which.do.not
90060 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 68 65 20 .dynamically.detect.macros,.the.
90080 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 66 6f 6e 74 69 66 69 65 73 20 63 61 6c 6c 73 20 minor.mode.also.fontifies.calls.
900a0 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 40 66 69 6e 64 65 78 20 67 6c 6f 62 61 6c 2d to.Dash.macros...@findex.global-
900c0 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c dash-fontify-mode.To.automatical
900e0 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 ly.enable.the.minor.mode.in.all.
90100 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 Emacs.Lisp.buffers,.just.call.it
90120 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 0a s.autoloaded.global.counterpart.
90140 40 63 6f 64 65 7b 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 2c @code{global-dash-fontify-mode},
90160 20 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f .either.interactively.or.from.yo
90180 75 72 0a 40 63 6f 64 65 7b 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 3a 0a 0a 40 6c 69 73 70 ur.@code{user-init-file}:..@lisp
901a0 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 40 65 6e 64 .(global-dash-fontify-mode).@end
901c0 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a .lisp..@node.Info.symbol.lookup.
901e0 40 73 65 63 74 69 6f 6e 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a 0a 40 66 69 @section.Info.symbol.lookup..@fi
90200 6e 64 65 78 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 0a 57 ndex.dash-register-info-lookup.W
90220 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 63 61 hile.editing.Elisp.files,.you.ca
90240 6e 20 75 73 65 20 40 6b 62 64 7b 43 2d 68 20 53 7d 0a 28 40 63 6f 64 65 7b 69 6e 66 6f 2d 6c 6f n.use.@kbd{C-h.S}.(@code{info-lo
90260 6f 6b 75 70 2d 73 79 6d 62 6f 6c 7d 29 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 okup-symbol}).to.look.up.Elisp.s
90280 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 49 6e 66 6f 20 6d 61 6e 75 ymbols.in.the.relevant.Info.manu
902a0 61 6c 73 20 28 40 70 78 72 65 66 7b 49 6e 66 6f 20 4c 6f 6f 6b 75 70 2c 2c 2c 20 65 6d 61 63 73 als.(@pxref{Info.Lookup,,,.emacs
902c0 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 54 6f 0a 65 6e ,.The.GNU.Emacs.Manual})...To.en
902e0 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 2c 20 able.the.same.for.Dash.symbols,.
90300 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 40 63 6f 64 65 7b 64 61 73 68 2d 72 65 67 69 73 use.the.command.@code{dash-regis
90320 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 7d 2e 20 20 49 74 20 63 61 6e 20 62 65 20 63 61 6c ter-info-lookup}...It.can.be.cal
90340 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2c 20 6f 72 20 61 75 74 led.directly.when.needed,.or.aut
90360 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 40 63 6f 64 65 7b 75 73 65 72 2d omatically.from.your.@code{user-
90380 69 6e 69 74 2d 66 69 6c 65 7d 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 40 6c 69 73 70 init-file}...For.example:..@lisp
903a0 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f .(with-eval-after-load.'info-loo
903c0 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 k...(dash-register-info-lookup))
903e0 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 73 0a 40 63 68 61 .@end.lisp..@node.Functions.@cha
90400 70 74 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 54 68 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e pter.Functions..This.chapter.con
90420 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f tains.reference.documentation.fo
90440 72 20 74 68 65 20 44 61 73 68 0a 40 61 63 72 6f 6e 79 6d 7b 41 50 49 2c 20 41 70 70 6c 69 63 61 r.the.Dash.@acronym{API,.Applica
90460 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 7d 2e 20 20 54 68 tion.Programming.Interface}...Th
90480 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 e.names.of.all.public.functions.
904a0 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 70 72 65 66 69 defined.in.the.library.are.prefi
904c0 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 0a 63 68 61 72 61 63 74 65 72 20 28 40 73 61 6d 70 xed.with.a.dash.character.(@samp
904e0 7b 2d 7d 29 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 {-})...The.library.also.provides
90500 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 6e .anaphoric.macro.versions.of.fun
90520 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 20 ctions.where.that.makes.sense...
90540 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 The.names.of.these.macros.are.pr
90560 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 40 73 61 6d 70 7b 2d 2d efixed.with.two.dashes.(@samp{--
90580 7d 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 46 6f 72 20 69 6e 73 74 61 6e 63 65 }).instead.of.one...For.instance
905a0 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 65 7b 2d 6d 61 70 7d ,.while.the.function.@code{-map}
905c0 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 65 61 63 68 20 65 6c 65 6d .applies.a.function.to.each.elem
905e0 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ent.of.a.list,.its.anaphoric.cou
90600 6e 74 65 72 70 61 72 74 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 0a 65 76 61 6c 75 61 74 65 73 20 nterpart.@code{--map}.evaluates.
90620 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 40 a.form.with.the.local.variable.@
90640 63 6f 64 65 7b 69 74 7d 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a 74 6f 20 74 68 code{it}.temporarily.bound.to.th
90660 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 65 61 64 2e 0a e.current.list.element.instead..
90680 0a 40 6c 69 73 70 0a 40 67 72 6f 75 70 0a 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e .@lisp.@group.;;.Normal.version.
906a0 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 28 31 20 .(-map.(lambda.(n).(*.n.n)).'(1.
906c0 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 2.3.4)).....@result{}.(1.4.9.16)
906e0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 0a 40 67 72 6f 75 70 0a 3b 3b 20 41 6e 61 70 68 6f 72 69 63 .@end.group..@group.;;.Anaphoric
90700 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 .version..(--map.(*.it.it).'(1.2
90720 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a .3.4)).....@result{}.(1.4.9.16).
90740 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 6e 6f 72 6d 61 6c @end.group.@end.lisp..The.normal
90760 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 61 6c 73 6f 20 62 65 .version.can,.of.course,.also.be
90780 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 65 78 61 .written.as.in.the.following.exa
907a0 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 74 69 mple,.which.demonstrates.the.uti
907c0 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 40 6c 69 73 70 0a 40 67 lity.of.both.versions...@lisp.@g
907e0 72 6f 75 70 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 roup.(defun.my-square.(n)..."Ret
90800 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 urn.N.multiplied.by.itself."...(
90820 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 *.n.n))..(-map.#'my-square.'(1.2
90840 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a .3.4)).....@result{}.(1.4.9.16).
90860 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6d 65 6e 75 0a 2a 20 4d 61 @end.group.@end.lisp..@menu.*.Ma
90880 70 73 3a 3a 0a 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 ps::.*.Sublist.selection::.*.Lis
908a0 74 20 74 6f 20 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 t.to.list::.*.Reductions::.*.Unf
908c0 6f 6c 64 69 6e 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 olding::.*.Predicates::.*.Partit
908e0 69 6f 6e 69 6e 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 ioning::.*.Indexing::.*.Set.oper
90900 61 74 69 6f 6e 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 ations::.*.Other.list.operations
90920 3a 3a 0a 2a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 ::.*.Tree.operations::.*.Threadi
90940 6e 67 20 6d 61 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 ng.macros::.*.Binding::.*.Side.e
90960 66 66 65 63 74 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e ffects::.*.Destructive.operation
90980 73 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 40 65 6e s::.*.Function.combinators::.@en
909a0 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 4d 61 70 73 0a 40 73 65 63 74 69 6f 6e 20 4d 61 70 73 d.menu..@node.Maps.@section.Maps
909c0 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b ..Functions.in.this.category.tak
909e0 65 20 61 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 e.a.transforming.function,.which
90a00 0a 69 73 20 74 68 65 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f .is.then.applied.sequentially.to
90a20 20 65 61 63 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 .each.or.selected.elements.of.th
90a40 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 e.input.list...The.results.are.c
90a60 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 ollected.in.order.and.returned.a
90a80 73 20 61 0a 6e 65 77 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 7d 0a 40 64 65 s.a.new.list...@anchor{-map}.@de
90aa0 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e fun.-map.(fn.list).Apply.@var{fn
90ac0 7d 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 }.to.each.item.in.@var{list}.and
90ae0 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 54 68 .return.the.list.of.results...Th
90b00 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 is.function's.anaphoric.counterp
90b20 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 art.is.@code{--map}...@example.@
90b40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 2a 20 6e 75 6d group.(-map.(lambda.(num).(*.num
90b60 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .num)).'(1.2.3.4)).....@result{}
90b80 20 28 31 20 34 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .(1.4.9.16).@end.group.@group.(-
90ba0 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 map.#'1+.'(1.2.3.4)).....@result
90bc0 7b 7d 20 28 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(2.3.4.5).@end.group.@group.(
90be0 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 --map.(*.it.it).'(1.2.3.4)).....
90c00 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a @result{}.(1.4.9.16).@end.group.
90c20 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
90c40 7b 2d 6d 61 70 2d 77 68 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 {-map-when}.@defun.-map-when.(pr
90c60 65 64 20 72 65 70 20 6c 69 73 74 29 0a 55 73 65 20 40 76 61 72 7b 70 72 65 64 7d 20 74 6f 20 63 ed.rep.list).Use.@var{pred}.to.c
90c80 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 61 70 70 6c 79 20 40 76 61 72 7b 72 65 70 7d 20 74 6f 20 onditionally.apply.@var{rep}.to.
90ca0 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 each.item.in.@var{list}..Return.
90cc0 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 74 68 65 20 69 a.copy.of.@var{list}.where.the.i
90ce0 74 65 6d 73 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e tems.for.which.@var{pred}.return
90d00 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 s.@code{nil}.are.unchanged,.and.
90d20 74 68 65 20 72 65 73 74 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 the.rest.are.mapped.through.the.
90d40 40 76 61 72 7b 72 65 70 7d 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 @var{rep}.function...Alias:.@cod
90d60 65 7b 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 7d 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f e{-replace-where}..See.also:.@co
90d80 64 65 7b 2d 75 70 64 61 74 65 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 75 70 64 61 74 65 2d 61 de{-update-at}.(@pxref{-update-a
90da0 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 77 68 65 6e 20 t})..@example.@group.(-map-when.
90dc0 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 'even?.'square.'(1.2.3.4)).....@
90de0 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 result{}.(1.4.3.16).@end.group.@
90e00 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 group.(--map-when.(>.it.2).(*.it
90e20 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .it).'(1.2.3.4)).....@result{}.(
90e40 31 20 32 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 1.2.9.16).@end.group.@group.(--m
90e60 61 70 2d 77 68 65 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 0a ap-when.(=.it.2).17.'(1.2.3.4)).
90e80 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 37 20 33 20 34 29 0a 40 65 6e 64 20 67 72 ....@result{}.(1.17.3.4).@end.gr
90ea0 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
90ec0 63 68 6f 72 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 66 69 72 chor{-map-first}.@defun.-map-fir
90ee0 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 55 73 65 20 40 76 61 72 7b 70 72 65 64 st.(pred.rep.list).Use.@var{pred
90f00 7d 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e }.to.determine.the.first.item.in
90f20 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 6f 20 63 61 6c 6c 20 40 76 61 72 7b 72 65 70 7d 20 6f 6e .@var{list}.to.call.@var{rep}.on
90f40 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 ..Return.a.copy.of.@var{list}.wh
90f60 65 72 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 ere.the.first.item.for.which.@va
90f80 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 r{pred}.returns.non-@code{nil}.i
90fa0 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 s.replaced.with.the.result.of.ca
90fc0 6c 6c 69 6e 67 20 40 76 61 72 7b 72 65 70 7d 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 53 lling.@var{rep}.on.that.item...S
90fe0 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 ee.also:.@code{-map-when}.(@pxre
91000 66 7b 2d 6d 61 70 2d 77 68 65 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 66 69 f{-map-when}),.@code{-replace-fi
91020 72 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7d 29 0a 0a 40 rst}.(@pxref{-replace-first})..@
91040 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e example.@group.(-map-first.'even
91060 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c ?.'square.'(1.2.3.4)).....@resul
91080 74 7b 7d 20 28 31 20 34 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a t{}.(1.4.3.4).@end.group.@group.
910a0 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 (--map-first.(>.it.2).(*.it.it).
910c0 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 39 '(1.2.3.4)).....@result{}.(1.2.9
910e0 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 66 69 72 .4).@end.group.@group.(--map-fir
91100 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 40 st.(=.it.2).17.'(1.2.3.2)).....@
91120 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 37 20 33 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 result{}.(1.17.3.2).@end.group.@
91140 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
91160 2d 6d 61 70 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 -map-last}.@defun.-map-last.(pre
91180 64 20 72 65 70 20 6c 69 73 74 29 0a 55 73 65 20 40 76 61 72 7b 70 72 65 64 7d 20 74 6f 20 64 65 d.rep.list).Use.@var{pred}.to.de
911a0 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 termine.the.last.item.in.@var{li
911c0 73 74 7d 20 74 6f 20 63 61 6c 6c 20 40 76 61 72 7b 72 65 70 7d 20 6f 6e 2e 0a 52 65 74 75 72 6e st}.to.call.@var{rep}.on..Return
911e0 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 74 68 65 20 .a.copy.of.@var{list}.where.the.
91200 6c 61 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 last.item.for.which.@var{pred}.r
91220 65 74 75 72 6e 73 0a 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 73 20 72 65 70 6c 61 63 65 eturns.non-@code{nil}.is.replace
91240 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 40 76 61 d.with.the.result.of.calling.@va
91260 72 7b 72 65 70 7d 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 r{rep}.on.that.item...See.also:.
91280 40 63 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 77 68 @code{-map-when}.(@pxref{-map-wh
912a0 65 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 en}),.@code{-replace-last}.(@pxr
912c0 65 66 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 ef{-replace-last})..@example.@gr
912e0 6f 75 70 0a 28 2d 6d 61 70 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 oup.(-map-last.'even?.'square.'(
91300 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 1.2.3.4)).....@result{}.(1.2.3.1
91320 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 6).@end.group.@group.(--map-last
91340 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a .(>.it.2).(*.it.it).'(1.2.3.4)).
91360 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 ....@result{}.(1.2.3.16).@end.gr
91380 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 oup.@group.(--map-last.(=.it.2).
913a0 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 17.'(1.2.3.2)).....@result{}.(1.
913c0 32 20 33 20 31 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 2.3.17).@end.group.@end.example.
913e0 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 @end.defun..@anchor{-map-indexed
91400 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 6e 20 6c 69 73 74 29 0a }.@defun.-map-indexed.(fn.list).
91420 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 Apply.@var{fn}.to.each.index.and
91440 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 74 .item.in.@var{list}.and.return.t
91460 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 he.list.of.results..This.is.like
91480 20 40 63 6f 64 65 7b 2d 6d 61 70 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 7d 29 2c 20 62 75 74 .@code{-map}.(@pxref{-map}),.but
914a0 20 40 76 61 72 7b 66 6e 7d 20 74 61 6b 65 73 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 .@var{fn}.takes.two.arguments:.t
914c0 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 he.index.of.the.current.element.
914e0 77 69 74 68 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 within.@var{list},.and.the.eleme
91500 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 nt.itself...This.function's.anap
91520 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 horic.counterpart.is.@code{--map
91540 2d 69 6e 64 65 78 65 64 7d 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 -indexed}...For.a.side-effecting
91560 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 65 61 63 68 2d 69 .variant,.see.also.@code{-each-i
91580 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 29 2e ndexed}.(@pxref{-each-indexed}).
915a0 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 ..@example.@group.(-map-indexed.
915c0 28 6c 61 6d 62 64 61 20 28 69 6e 64 65 78 20 69 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 (lambda.(index.item).(-.item.ind
915e0 65 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 ex)).'(1.2.3.4)).....@result{}.(
91600 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 1.1.1.1).@end.group.@group.(--ma
91620 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 31 20 32 20 p-indexed.(-.it.it-index).'(1.2.
91640 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 3.4)).....@result{}.(1.1.1.1).@e
91660 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 27 nd.group.@group.(-map-indexed.#'
91680 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 32 *.'(1.2.3.4)).....@result{}.(0.2
916a0 20 36 20 31 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 .6.12).@end.group.@end.example.@
916c0 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 6e 6f 74 61 74 65 7d 0a 40 64 end.defun..@anchor{-annotate}.@d
916e0 65 66 75 6e 20 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 50 61 69 72 20 65 61 efun.-annotate.(fn.list).Pair.ea
91700 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 74 68 65 20 72 ch.item.in.@var{list}.with.the.r
91720 65 73 75 6c 74 20 6f 66 20 70 61 73 73 69 6e 67 20 69 74 20 74 6f 20 40 76 61 72 7b 66 6e 7d 2e esult.of.passing.it.to.@var{fn}.
91740 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 40 76 61 72 7b 72 65 73 75 6c ..Return.an.alist.of.(@var{resul
91760 74 7d 20 2e 20 40 76 61 72 7b 69 74 65 6d 7d 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 40 76 61 t}...@var{item}),.where.each.@va
91780 72 7b 69 74 65 6d 7d 20 69 73 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 r{item}.is.the.corresponding.ele
917a0 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 40 76 61 72 7b 72 65 73 ment.of.@var{list},.and.@var{res
917c0 75 6c 74 7d 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 62 74 61 69 6e 65 64 0a 62 79 20 63 61 ult}.is.the.value.obtained.by.ca
917e0 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 40 76 61 72 7b 69 74 65 6d 7d 2e 0a 0a 54 lling.@var{fn}.on.@var{item}...T
91800 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 his.function's.anaphoric.counter
91820 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 61 6e 6e 6f 74 61 74 65 7d 2e 0a 0a 40 65 78 61 part.is.@code{--annotate}...@exa
91840 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 31 2b 20 27 28 31 20 mple.@group.(-annotate.#'1+.'(1.
91860 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 2e 20 31 29 20 28 33 20 2.3)).....@result{}.((2...1).(3.
91880 2e 20 32 29 20 28 34 20 2e 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a ..2).(4...3)).@end.group.@group.
918a0 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 6c 65 6e 67 74 68 20 27 28 28 66 20 6f 20 6f 29 20 28 62 (-annotate.#'length.'((f.o.o).(b
918c0 61 72 20 62 61 7a 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 33 20 66 20 6f 20 ar.baz))).....@result{}.((3.f.o.
918e0 6f 29 20 28 32 20 62 61 72 20 62 61 7a 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 o).(2.bar.baz)).@end.group.@grou
91900 70 0a 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3e 20 69 74 20 31 29 20 27 28 30 20 31 20 32 20 33 p.(--annotate.(>.it.1).'(0.1.2.3
91920 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 20 2e 20 30 29 20 28 6e 69 6c )).....@result{}.((nil...0).(nil
91940 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 ...1).(t...2).(t...3)).@end.grou
91960 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
91980 6f 72 7b 2d 73 70 6c 69 63 65 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 or{-splice}.@defun.-splice.(pred
919a0 20 66 75 6e 20 6c 69 73 74 29 0a 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 .fun.list).Splice.lists.generate
919c0 64 20 62 79 20 40 76 61 72 7b 66 75 6e 7d 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 69 74 65 6d 73 d.by.@var{fun}.in.place.of.items
919e0 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 69 6e 20 40 76 61 72 7b 6c .satisfying.@var{pred}.in.@var{l
91a00 69 73 74 7d 2e 0a 0a 43 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 7d 20 6f 6e 20 65 61 63 68 20 65 ist}...Call.@var{pred}.on.each.e
91a20 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 20 20 57 68 65 6e 65 76 65 72 20 lement.of.@var{list}...Whenever.
91a40 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 0a 69 73 20 40 63 6f 64 the.result.of.@var{pred}.is.@cod
91a60 65 7b 6e 69 6c 7d 2c 20 6c 65 61 76 65 20 74 68 61 74 20 40 63 6f 64 65 7b 69 74 7d 20 61 73 2d e{nil},.leave.that.@code{it}.as-
91a80 69 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 63 61 6c 6c 20 40 76 61 72 7b 66 75 6e 7d 20 6f is...Otherwise,.call.@var{fun}.o
91aa0 6e 20 74 68 65 20 73 61 6d 65 0a 40 63 6f 64 65 7b 69 74 7d 20 74 68 61 74 20 73 61 74 69 73 66 n.the.same.@code{it}.that.satisf
91ac0 69 65 64 20 40 76 61 72 7b 70 72 65 64 7d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 73 68 6f 75 ied.@var{pred}...The.result.shou
91ae0 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 0a 65 6d 70 74 79 29 20 6c 69 73 74 20 6f 66 ld.be.a.(possibly.empty).list.of
91b00 20 69 74 65 6d 73 20 74 6f 20 73 70 6c 69 63 65 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 40 63 6f .items.to.splice.in.place.of.@co
91b20 64 65 7b 69 74 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 69 73 20 63 61 6e 20 de{it}.in.@var{list}...This.can.
91b40 62 65 20 75 73 65 66 75 6c 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 74 be.useful.as.an.alternative.to.t
91b60 68 65 20 40 63 6f 64 65 7b 2c 40 40 7d 20 63 6f 6e 73 74 72 75 63 74 20 69 6e 20 61 0a 40 63 6f he.@code{,@@}.construct.in.a.@co
91b80 64 65 7b 60 7d 20 73 74 72 75 63 74 75 72 65 2c 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 de{`}.structure,.in.case.you.nee
91ba0 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 0a 6d 61 72 d.to.splice.several.lists.at.mar
91bc0 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 ked.positions.(for.example.with.
91be0 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 keywords)...This.function's.anap
91c00 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 73 70 6c horic.counterpart.is.@code{--spl
91c20 69 63 65 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 2d 6c ice}...See.also:.@code{-splice-l
91c40 69 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 29 2c 20 40 63 6f ist}.(@pxref{-splice-list}),.@co
91c60 64 65 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 69 6e 73 65 72 74 2d 61 de{-insert-at}.(@pxref{-insert-a
91c80 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 20 23 t})...@example.@group.(-splice.#
91ca0 27 6e 75 6d 62 65 72 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 6c 69 73 74 20 6e 20 6e 29 29 'numberp.(lambda.(n).(list.n.n))
91cc0 20 27 28 61 20 31 20 62 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 31 20 .'(a.1.b.2)).....@result{}.(a.1.
91ce0 31 20 62 20 32 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 1.b.2.2).@end.group.@group.(--sp
91d00 6c 69 63 65 20 74 20 28 6c 69 73 74 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a lice.t.(list.it.it).'(1.2.3.4)).
91d20 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 34 29 0a ....@result{}.(1.1.2.2.3.3.4.4).
91d40 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 20 @end.group.@group.(--splice.(eq.
91d60 69 74 20 3a 6d 61 67 69 63 29 20 27 28 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 29 20 27 it.:magic).'((magical).(code)).'
91d80 28 28 66 6f 6f 29 20 3a 6d 61 67 69 63 20 28 62 61 72 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c ((foo).:magic.(bar))).....@resul
91da0 74 7b 7d 20 28 28 66 6f 6f 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 72 t{}.((foo).(magical).(code).(bar
91dc0 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 )).@end.group.@end.example.@end.
91de0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 0a 40 64 65 defun..@anchor{-splice-list}.@de
91e00 66 75 6e 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 fun.-splice-list.(pred.new-list.
91e20 6c 69 73 74 29 0a 53 70 6c 69 63 65 20 40 76 61 72 7b 6e 65 77 2d 6c 69 73 74 7d 20 69 6e 20 70 list).Splice.@var{new-list}.in.p
91e40 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 lace.of.elements.matching.@var{p
91e60 72 65 64 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 red}.in.@var{list}...See.also:.@
91e80 63 6f 64 65 7b 2d 73 70 6c 69 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 7d 29 2c code{-splice}.(@pxref{-splice}),
91ea0 20 40 63 6f 64 65 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 69 6e 73 65 .@code{-insert-at}.(@pxref{-inse
91ec0 72 74 2d 61 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 rt-at})..@example.@group.(-splic
91ee0 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 e-list.'keywordp.'(a.b.c).'(1.:f
91f00 6f 6f 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 61 20 62 20 63 20 32 29 oo.2)).....@result{}.(1.a.b.c.2)
91f20 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 .@end.group.@group.(-splice-list
91f40 20 27 6b 65 79 77 6f 72 64 70 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 .'keywordp.nil.'(1.:foo.2)).....
91f60 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 @result{}.(1.2).@end.group.@grou
91f80 70 0a 28 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 p.(--splice-list.(keywordp.it).'
91fa0 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 (a.b.c).'(1.:foo.2)).....@result
91fc0 7b 7d 20 28 31 20 61 20 62 20 63 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 {}.(1.a.b.c.2).@end.group.@end.e
91fe0 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 63 xample.@end.defun..@anchor{-mapc
92000 61 74 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 at}.@defun.-mapcat.(fn.list).Ret
92020 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 urn.the.concatenation.of.the.res
92040 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 6f 76 65 72 20 40 76 61 ult.of.mapping.@var{fn}.over.@va
92060 72 7b 6c 69 73 74 7d 2e 0a 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 r{list}..Thus.function.@var{fn}.
92080 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a should.return.a.list...@example.
920a0 40 67 72 6f 75 70 0a 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a @group.(-mapcat.'list.'(1.2.3)).
920c0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 ....@result{}.(1.2.3).@end.group
920e0 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 .@group.(-mapcat.(lambda.(item).
92100 28 6c 69 73 74 20 30 20 69 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 (list.0.item)).'(1.2.3)).....@re
92120 73 75 6c 74 7b 7d 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a sult{}.(0.1.0.2.0.3).@end.group.
92140 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 @group.(--mapcat.(list.0.it).'(1
92160 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 30 20 32 20 30 20 .2.3)).....@result{}.(0.1.0.2.0.
92180 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 3).@end.group.@end.example.@end.
921a0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 70 79 7d 0a 40 64 65 66 75 6e 20 2d 63 6f defun..@anchor{-copy}.@defun.-co
921c0 70 79 20 28 6c 69 73 74 29 0a 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 py.(list).Create.a.shallow.copy.
921e0 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 of.@var{list}..The.elements.of.@
92200 76 61 72 7b 6c 69 73 74 7d 20 61 72 65 20 6e 6f 74 20 63 6f 70 69 65 64 3b 20 74 68 65 79 20 61 var{list}.are.not.copied;.they.a
92220 72 65 20 73 68 61 72 65 64 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2e 0a 0a 40 65 re.shared.with.the.original...@e
92240 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 70 79 20 27 28 31 20 32 20 33 29 29 0a 20 xample.@group.(-copy.'(1.2.3))..
92260 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a ...@result{}.(1.2.3).@end.group.
92280 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 29 29 29 20 28 65 71 20 61 @group.(let.((a.'(1.2.3))).(eq.a
922a0 20 28 2d 63 6f 70 79 20 61 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 .(-copy.a))).....@result{}.nil.@
922c0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
922e0 6e 0a 0a 40 6e 6f 64 65 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 40 73 65 63 74 n..@node.Sublist.selection.@sect
92300 69 6f 6e 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e 63 74 69 6f 6e 73 ion.Sublist.selection..Functions
92320 20 72 65 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 6f 72 69 67 .returning.a.sublist.of.the.orig
92340 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 6c 74 65 72 7d 0a 40 64 65 inal.list...@anchor{-filter}.@de
92360 66 75 6e 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 fun.-filter.(pred.list).Return.a
92380 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c .new.list.of.the.items.in.@var{l
923a0 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e ist}.for.which.@var{pred}.return
923c0 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b s.non-@code{nil}...Alias:.@code{
923e0 2d 73 65 6c 65 63 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 -select}...This.function's.anaph
92400 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 66 69 6c 74 oric.counterpart.is.@code{--filt
92420 65 72 7d 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 er}...For.similar.operations,.se
92440 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6b 65 65 70 7d 20 28 40 70 78 72 65 66 7b 2d 6b 65 65 e.also.@code{-keep}.(@pxref{-kee
92460 70 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 7d 20 28 40 70 78 72 65 66 7b 2d p}).and.@code{-remove}.(@pxref{-
92480 72 65 6d 6f 76 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c remove})...@example.@group.(-fil
924a0 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 ter.(lambda.(num).(=.0.(%.num.2)
924c0 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 )).'(1.2.3.4)).....@result{}.(2.
924e0 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 23 27 4).@end.group.@group.(-filter.#'
92500 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 natnump.'(-2.-1.0.1.2)).....@res
92520 75 6c 74 7b 7d 20 28 30 20 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a ult{}.(0.1.2).@end.group.@group.
92540 28 2d 2d 66 69 6c 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 (--filter.(=.0.(%.it.2)).'(1.2.3
92560 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 29 0a 40 65 6e 64 20 67 72 .4)).....@result{}.(2.4).@end.gr
92580 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
925a0 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 20 28 70 72 chor{-remove}.@defun.-remove.(pr
925c0 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 ed.list).Return.a.new.list.of.th
925e0 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 e.items.in.@var{list}.for.which.
92600 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a @var{pred}.returns.@code{nil}...
92620 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e Alias:.@code{-reject}...This.fun
92640 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
92660 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 7d 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f .@code{--remove}...For.similar.o
92680 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6b 65 65 70 7d perations,.see.also.@code{-keep}
926a0 20 28 40 70 78 72 65 66 7b 2d 6b 65 65 70 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 66 69 6c 74 .(@pxref{-keep}).and.@code{-filt
926c0 65 72 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6c 74 65 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 er}.(@pxref{-filter})...@example
926e0 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 .@group.(-remove.(lambda.(num).(
92700 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 =.0.(%.num.2))).'(1.2.3.4)).....
92720 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 @result{}.(1.3).@end.group.@grou
92740 70 0a 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 p.(-remove.#'natnump.'(-2.-1.0.1
92760 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2d 32 20 2d 31 29 0a 40 65 6e 64 20 .2)).....@result{}.(-2.-1).@end.
92780 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 group.@group.(--remove.(=.0.(%.i
927a0 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 t.2)).'(1.2.3.4)).....@result{}.
927c0 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 (1.3).@end.group.@end.example.@e
927e0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d nd.defun..@anchor{-remove-first}
92800 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 .@defun.-remove-first.(pred.list
92820 29 0a 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 40 76 61 ).Remove.the.first.item.from.@va
92840 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 r{list}.for.which.@var{pred}.ret
92860 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 54 68 69 73 20 69 73 20 61 20 6e urns.non-@code{nil}..This.is.a.n
92880 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e on-destructive.operation,.but.on
928a0 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 0a 6c 65 61 64 69 ly.the.front.of.@var{list}.leadi
928c0 6e 67 20 75 70 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 ng.up.to.the.removed.item.is.a.c
928e0 6f 70 79 3b 20 74 68 65 20 72 65 73 74 20 69 73 20 40 76 61 72 7b 6c 69 73 74 7d 27 73 0a 6f 72 opy;.the.rest.is.@var{list}'s.or
92900 69 67 69 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f iginal.tail...If.no.item.is.remo
92920 76 65 64 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 63 6f 6d 70 6c 65 ved,.then.the.result.is.a.comple
92940 74 65 20 63 6f 70 79 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 2d 66 te.copy...Alias:.@code{-reject-f
92960 69 72 73 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 irst}...This.function's.anaphori
92980 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 2d c.counterpart.is.@code{--remove-
929a0 66 69 72 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 66 69 72 first}...See.also.@code{-map-fir
929c0 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 29 2c 20 40 63 6f 64 65 7b st}.(@pxref{-map-first}),.@code{
929e0 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 69 74 -remove-item}.(@pxref{-remove-it
92a00 65 6d 7d 29 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 20 28 40 em}),.and.@code{-remove-last}.(@
92a20 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a pxref{-remove-last})...@example.
92a40 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 @group.(-remove-first.#'natnump.
92a60 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2d '(-2.-1.0.1.2)).....@result{}.(-
92a80 32 20 2d 31 20 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 2.-1.1.2).@end.group.@group.(-re
92aa0 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 66 69 72 73 move-first.#'stringp.'(1.2."firs
92ac0 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 t"."second")).....@result{}.(1.2
92ae0 20 22 73 65 63 6f 6e 64 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d ."second").@end.group.@group.(--
92b00 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 remove-first.(>.it.3).'(1.2.3.4.
92b20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 35 20 36 29 0a 5.6)).....@result{}.(1.2.3.5.6).
92b40 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
92b60 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e un..@anchor{-remove-last}.@defun
92b80 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 6d 6f 76 65 .-remove-last.(pred.list).Remove
92ba0 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 .the.last.item.from.@var{list}.f
92bc0 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d or.which.@var{pred}.returns.non-
92be0 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 70 79 @code{nil}..The.result.is.a.copy
92c00 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 .of.@var{list}.regardless.of.whe
92c20 74 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 ther.an.element.is.removed...Ali
92c40 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 2d 6c 61 73 74 7d 2e 0a 0a 54 68 69 73 20 66 as:.@code{-reject-last}...This.f
92c60 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 unction's.anaphoric.counterpart.
92c80 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 2e 0a 0a 53 65 65 20 61 6c is.@code{--remove-last}...See.al
92ca0 73 6f 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 so.@code{-map-last}.(@pxref{-map
92cc0 2d 6c 61 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 20 28 40 70 -last}),.@code{-remove-item}.(@p
92ce0 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 29 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d xref{-remove-item}),.and.@code{-
92d00 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 66 69 remove-first}.(@pxref{-remove-fi
92d20 72 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 rst})...@example.@group.(-remove
92d40 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 33 20 35 20 34 20 37 20 38 20 31 30 -last.#'natnump.'(1.3.5.4.7.8.10
92d60 20 2d 31 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 33 20 35 20 34 20 37 20 .-11)).....@result{}.(1.3.5.4.7.
92d80 38 20 2d 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 8.-11).@end.group.@group.(-remov
92da0 65 2d 6c 61 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 e-last.#'stringp.'(1.2."last"."s
92dc0 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 22 6c 61 73 econd")).....@result{}.(1.2."las
92de0 74 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 2d t").@end.group.@group.(--remove-
92e00 6c 61 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 last.(>.it.3).'(1.2.3.4.5.6.7.8.
92e20 39 20 31 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 9.10)).....@result{}.(1.2.3.4.5.
92e40 36 20 37 20 38 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 6.7.8.9).@end.group.@end.example
92e60 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 .@end.defun..@anchor{-remove-ite
92e80 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 m}.@defun.-remove-item.(item.lis
92ea0 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 t).Return.a.copy.of.@var{list}.w
92ec0 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 40 76 61 72 7b 69 74 65 6d ith.all.occurrences.of.@var{item
92ee0 7d 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e }.removed..The.comparison.is.don
92f00 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 e.with.@code{equal}...@example.@
92f20 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 20 33 20 32 20 group.(-remove-item.3.'(1.2.3.2.
92f40 33 20 34 20 35 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 32 20 34 3.4.5.3)).....@result{}.(1.2.2.4
92f60 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 .5).@end.group.@group.(-remove-i
92f80 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 tem.'foo.'(foo.bar.baz.foo))....
92fa0 20 40 72 65 73 75 6c 74 7b 7d 20 28 62 61 72 20 62 61 7a 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .@result{}.(bar.baz).@end.group.
92fc0 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c @group.(-remove-item."bob".'("al
92fe0 69 63 65 22 20 22 62 6f 62 22 20 22 65 76 65 22 20 22 62 6f 62 22 29 29 0a 20 20 20 20 40 72 65 ice"."bob"."eve"."bob")).....@re
93000 73 75 6c 74 7b 7d 20 28 22 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a 40 65 6e 64 20 67 72 6f 75 sult{}.("alice"."eve").@end.grou
93020 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
93040 6f 72 7b 2d 6e 6f 6e 2d 6e 69 6c 7d 0a 40 64 65 66 75 6e 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 or{-non-nil}.@defun.-non-nil.(li
93060 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 st).Return.a.copy.of.@var{list}.
93080 77 69 74 68 20 61 6c 6c 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 with.all.@code{nil}.items.remove
930a0 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 d...@example.@group.(-non-nil.'(
930c0 6e 69 6c 20 31 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 34 20 6e 69 6c 20 35 20 6e 69 nil.1.nil.2.nil.nil.3.4.nil.5.ni
930e0 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 l)).....@result{}.(1.2.3.4.5).@e
93100 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 28 6e 69 6c nd.group.@group.(-non-nil.'((nil
93120 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 29 29 0a 40 65 6e 64 20 67 ))).....@result{}.((nil)).@end.g
93140 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a 20 20 20 20 40 72 roup.@group.(-non-nil.()).....@r
93160 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 esult{}.().@end.group.@end.examp
93180 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6c 69 63 65 7d 0a 40 le.@end.defun..@anchor{-slice}.@
931a0 64 65 66 75 6e 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 defun.-slice.(list.from.&optiona
931c0 6c 20 74 6f 20 73 74 65 70 29 0a 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c l.to.step).Return.copy.of.@var{l
931e0 69 73 74 7d 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 40 76 61 72 7b 66 ist},.starting.from.index.@var{f
93200 72 6f 6d 7d 20 74 6f 20 69 6e 64 65 78 20 40 76 61 72 7b 74 6f 7d 2e 0a 0a 40 76 61 72 7b 66 72 rom}.to.index.@var{to}...@var{fr
93220 6f 6d 7d 20 6f 72 20 40 76 61 72 7b 74 6f 7d 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 2e om}.or.@var{to}.may.be.negative.
93240 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 ..These.values.are.then.interpre
93260 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 ted.modulo.the.length.of.the.lis
93280 74 2e 0a 0a 49 66 20 40 76 61 72 7b 73 74 65 70 7d 20 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 6f t...If.@var{step}.is.a.number,.o
932a0 6e 6c 79 20 65 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 72 65 73 75 nly.each.STEPth.item.in.the.resu
932c0 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 44 65 66 61 lting.section.is.returned...Defa
932e0 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6c ults.to.1...@example.@group.(-sl
93300 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ice.'(1.2.3.4.5).1).....@result{
93320 7d 20 28 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d }.(2.3.4.5).@end.group.@group.(-
93340 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 0a 20 20 20 20 40 72 65 73 slice.'(1.2.3.4.5).0.3).....@res
93360 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a ult{}.(1.2.3).@end.group.@group.
93380 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 20 31 20 2d (-slice.'(1.2.3.4.5.6.7.8.9).1.-
933a0 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 36 20 38 29 0a 40 65 6e 1.2).....@result{}.(2.4.6.8).@en
933c0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
933e0 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 6b 65 20 28 6e 20 .@anchor{-take}.@defun.-take.(n.
93400 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 list).Return.a.copy.of.the.first
93420 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 .@var{n}.items.in.@var{list}..Re
93440 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 69 74 20 turn.a.copy.of.@var{list}.if.it.
93460 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e contains.@var{n}.items.or.fewer.
93480 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 .Return.@code{nil}.if.@var{n}.is
934a0 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b .zero.or.less...See.also:.@code{
934c0 2d 74 61 6b 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 2d 6c 61 73 74 7d 29 -take-last}.(@pxref{-take-last})
934e0 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 33 20 27 28 31 20 ...@example.@group.(-take.3.'(1.
93500 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 2.3.4.5)).....@result{}.(1.2.3).
93520 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 @end.group.@group.(-take.17.'(1.
93540 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 2.3.4.5)).....@result{}.(1.2.3.4
93560 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 30 20 27 .5).@end.group.@group.(-take.0.'
93580 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 (1.2.3.4.5)).....@result{}.().@e
935a0 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
935c0 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 74 61 ..@anchor{-take-last}.@defun.-ta
935e0 6b 65 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f ke-last.(n.list).Return.a.copy.o
93600 66 20 74 68 65 20 6c 61 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 66 20 40 76 61 72 f.the.last.@var{n}.items.of.@var
93620 7b 6c 69 73 74 7d 20 69 6e 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f {list}.in.order..Return.a.copy.o
93640 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 f.@var{list}.if.it.contains.@var
93660 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 {n}.items.or.fewer..Return.@code
93680 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 {nil}.if.@var{n}.is.zero.or.less
936a0 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 74 61 6b 65 7d 20 28 40 70 78 72 65 ...See.also:.@code{-take}.(@pxre
936c0 66 7b 2d 74 61 6b 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 f{-take})...@example.@group.(-ta
936e0 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 ke-last.3.'(1.2.3.4.5)).....@res
93700 75 6c 74 7b 7d 20 28 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a ult{}.(3.4.5).@end.group.@group.
93720 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 (-take-last.17.'(1.2.3.4.5))....
93740 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 .@result{}.(1.2.3.4.5).@end.grou
93760 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 p.@group.(-take-last.1.'(1.2.3.4
93780 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 72 6f 75 .5)).....@result{}.(5).@end.grou
937a0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
937c0 6f 72 7b 2d 64 72 6f 70 7d 0a 40 64 65 66 75 6e 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a or{-drop}.@defun.-drop.(n.list).
937e0 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 Return.the.tail.(not.a.copy).of.
93800 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 40 76 61 @var{list}.without.the.first.@va
93820 72 7b 6e 7d 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 r{n}.items..Return.@code{nil}.if
93840 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 .@var{list}.contains.@var{n}.ite
93860 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 ms.or.fewer..Return.@var{list}.i
93880 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 46 6f 72 20 f.@var{n}.is.zero.or.less...For.
938a0 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b another.variant,.see.also.@code{
938c0 2d 64 72 6f 70 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 64 72 6f 70 2d 6c 61 73 74 7d 29 -drop-last}.(@pxref{-drop-last})
938e0 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 20 33 20 27 28 31 20 ...@example.@group.(-drop.3.'(1.
93900 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 29 0a 40 65 2.3.4.5)).....@result{}.(4.5).@e
93920 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 nd.group.@group.(-drop.17.'(1.2.
93940 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 3.4.5)).....@result{}.().@end.gr
93960 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 oup.@group.(-drop.0.'(1.2.3.4.5)
93980 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 ).....@result{}.(1.2.3.4.5).@end
939a0 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
939c0 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 64 72 6f 70 @anchor{-drop-last}.@defun.-drop
939e0 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 -last.(n.list).Return.a.copy.of.
93a00 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 6f 75 74 20 69 74 73 20 6c 61 73 74 20 40 76 61 72 @var{list}.without.its.last.@var
93a20 7b 6e 7d 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 {n}.items..Return.a.copy.of.@var
93a40 7b 6c 69 73 74 7d 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 {list}.if.@var{n}.is.zero.or.les
93a60 73 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6c 69 73 s..Return.@code{nil}.if.@var{lis
93a80 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 66 65 77 t}.contains.@var{n}.items.or.few
93aa0 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 64 72 6f 70 7d 20 28 40 70 78 er...See.also:.@code{-drop}.(@px
93ac0 72 65 66 7b 2d 64 72 6f 70 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d ref{-drop})...@example.@group.(-
93ae0 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 drop-last.3.'(1.2.3.4.5)).....@r
93b00 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a esult{}.(1.2).@end.group.@group.
93b20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 (-drop-last.17.'(1.2.3.4.5))....
93b40 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .@result{}.().@end.group.@group.
93b60 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 (-drop-last.0.'(1.2.3.4.5)).....
93b80 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 @result{}.(1.2.3.4.5).@end.group
93ba0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
93bc0 72 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 6b 65 2d 77 68 69 6c r{-take-while}.@defun.-take-whil
93be0 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 e.(pred.list).Take.successive.it
93c00 65 6d 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 ems.from.@var{list}.for.which.@v
93c20 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e ar{pred}.returns.non-@code{nil}.
93c40 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 .@var{pred}.is.a.function.of.one
93c60 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 .argument...Return.a.new.list.of
93c80 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 .the.successive.elements.from.th
93ca0 65 20 73 74 61 72 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 e.start.of.@var{list}.for.which.
93cc0 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c @var{pred}.returns.non-@code{nil
93ce0 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f }...This.function's.anaphoric.co
93d00 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 7d unterpart.is.@code{--take-while}
93d20 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f ...For.another.variant,.see.also
93d40 20 40 63 6f 64 65 7b 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 20 28 40 70 78 72 65 66 7b 2d 64 72 6f .@code{-drop-while}.(@pxref{-dro
93d60 70 2d 77 68 69 6c 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 p-while})...@example.@group.(-ta
93d80 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 ke-while.#'even?.'(1.2.3.4))....
93da0 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .@result{}.().@end.group.@group.
93dc0 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 (-take-while.#'even?.'(2.4.5.6))
93de0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .....@result{}.(2.4).@end.group.
93e00 40 67 72 6f 75 70 0a 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 @group.(--take-while.(<.it.4).'(
93e20 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 1.2.3.4.3.2.1)).....@result{}.(1
93e40 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .2.3).@end.group.@end.example.@e
93e60 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 0a 40 nd.defun..@anchor{-drop-while}.@
93e80 64 65 66 75 6e 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 44 72 defun.-drop-while.(pred.list).Dr
93ea0 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 op.successive.items.from.@var{li
93ec0 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 st}.for.which.@var{pred}.returns
93ee0 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 61 .non-@code{nil}..@var{pred}.is.a
93f00 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 .function.of.one.argument...Retu
93f20 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 40 76 61 72 rn.the.tail.(not.a.copy).of.@var
93f40 7b 6c 69 73 74 7d 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 {list}.starting.from.its.first.e
93f60 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 lement.for.which.@var{pred}.retu
93f80 72 6e 73 0a 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 rns.@code{nil}...This.function's
93fa0 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b .anaphoric.counterpart.is.@code{
93fc0 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 --drop-while}...For.another.vari
93fe0 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d ant,.see.also.@code{-take-while}
94000 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c .(@pxref{-take-while})...@exampl
94020 65 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 e.@group.(-drop-while.#'even?.'(
94040 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 1.2.3.4)).....@result{}.(1.2.3.4
94060 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 77 68 69 6c 65 ).@end.group.@group.(-drop-while
94080 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .#'even?.'(2.4.5.6)).....@result
940a0 7b 7d 20 28 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 64 72 {}.(5.6).@end.group.@group.(--dr
940c0 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 op-while.(<.it.4).'(1.2.3.4.3.2.
940e0 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 33 20 32 20 31 29 0a 40 65 6e 64 1)).....@result{}.(4.3.2.1).@end
94100 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
94120 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 @anchor{-select-by-indices}.@def
94140 75 6e 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c un.-select-by-indices.(indices.l
94160 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 ist).Return.a.list.whose.element
94180 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 s.are.elements.from.@var{list}.s
941a0 65 6c 65 63 74 65 64 0a 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c elected.as.`(nth.i.list)`.for.al
941c0 6c 20 69 20 66 72 6f 6d 20 40 76 61 72 7b 69 6e 64 69 63 65 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c l.i.from.@var{indices}...@exampl
941e0 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 e.@group.(-select-by-indices.'(4
94200 20 31 30 20 32 20 33 20 36 29 20 27 28 22 76 22 20 22 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 .10.2.3.6).'("v"."e"."l"."o"."c"
94220 20 22 69 22 20 22 72 22 20 22 61 22 20 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 ."i"."r"."a"."p"."t"."o"."r"))..
94240 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 63 22 20 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 ...@result{}.("c"."o"."l"."o"."r
94260 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 62 79 ").@end.group.@group.(-select-by
94280 2d 69 6e 64 69 63 65 73 20 27 28 32 20 31 20 30 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 -indices.'(2.1.0).'("a"."b"."c")
942a0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 40 65 ).....@result{}.("c"."b"."a").@e
942c0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 nd.group.@group.(-select-by-indi
942e0 63 65 73 20 27 28 30 20 31 20 32 20 30 20 31 20 33 20 33 20 31 29 20 27 28 22 66 22 20 22 61 22 ces.'(0.1.2.0.1.3.3.1).'("f"."a"
94300 20 22 72 22 20 22 6c 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 66 22 20 22 61 ."r"."l")).....@result{}.("f"."a
94320 22 20 22 72 22 20 22 66 22 20 22 61 22 20 22 6c 22 20 22 6c 22 20 22 61 22 29 0a 40 65 6e 64 20 "."r"."f"."a"."l"."l"."a").@end.
94340 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
94360 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7d 0a 40 64 65 66 75 6e 20 2d anchor{-select-columns}.@defun.-
94380 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 53 select-columns.(columns.table).S
943a0 65 6c 65 63 74 20 40 76 61 72 7b 63 6f 6c 75 6d 6e 73 7d 20 66 72 6f 6d 20 40 76 61 72 7b 74 61 elect.@var{columns}.from.@var{ta
943c0 62 6c 65 7d 2e 0a 0a 40 76 61 72 7b 74 61 62 6c 65 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 ble}...@var{table}.is.a.list.of.
943e0 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 lists.where.each.element.represe
94400 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 nts.one.row..It.is.assumed.each.
94420 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 row.has.the.same.length...Each.r
94440 6f 77 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 ow.is.transformed.such.that.only
94460 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 40 76 61 72 7b 63 6f 6c 75 6d 6e 73 7d 20 61 72 65 .the.specified.@var{columns}.are
94480 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 6c .selected...See.also:.@code{-sel
944a0 65 63 74 2d 63 6f 6c 75 6d 6e 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 ect-column}.(@pxref{-select-colu
944c0 6d 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 20 mn}),.@code{-select-by-indices}.
944e0 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 29 0a 0a 40 65 (@pxref{-select-by-indices})..@e
94500 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 xample.@group.(-select-columns.'
94520 28 30 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a (0.2).'((1.2.3).(a.b.c).(:a.:b.:
94540 63 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 29 20 28 61 20 63 29 20 c))).....@result{}.((1.3).(a.c).
94560 28 3a 61 20 3a 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c (:a.:c)).@end.group.@group.(-sel
94580 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 31 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 ect-columns.'(1).'((1.2.3).(a.b.
945a0 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 c).(:a.:b.:c))).....@result{}.((
945c0 32 29 20 28 62 29 20 28 3a 62 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2).(b).(:b)).@end.group.@group.(
945e0 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 6e 69 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 -select-columns.nil.'((1.2.3).(a
94600 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .b.c).(:a.:b.:c))).....@result{}
94620 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .(nil.nil.nil).@end.group.@end.e
94640 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 xample.@end.defun..@anchor{-sele
94660 63 74 2d 63 6f 6c 75 6d 6e 7d 0a 40 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e ct-column}.@defun.-select-column
94680 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 53 65 6c 65 63 74 20 40 76 61 72 7b 63 6f 6c 75 .(column.table).Select.@var{colu
946a0 6d 6e 7d 20 66 72 6f 6d 20 40 76 61 72 7b 74 61 62 6c 65 7d 2e 0a 0a 40 76 61 72 7b 74 61 62 6c mn}.from.@var{table}...@var{tabl
946c0 65 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 e}.is.a.list.of.lists.where.each
946e0 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 .element.represents.one.row..It.
94700 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 is.assumed.each.row.has.the.same
94720 20 6c 65 6e 67 74 68 2e 0a 0a 54 68 65 20 73 69 6e 67 6c 65 20 73 65 6c 65 63 74 65 64 20 63 6f .length...The.single.selected.co
94740 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 lumn.is.returned.as.a.list...See
94760 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7d 20 28 40 .also:.@code{-select-columns}.(@
94780 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7d 29 2c 20 40 63 6f 64 65 7b 2d pxref{-select-columns}),.@code{-
947a0 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 select-by-indices}.(@pxref{-sele
947c0 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 ct-by-indices})..@example.@group
947e0 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 20 27 28 28 31 20 32 20 33 29 20 28 61 20 .(-select-column.1.'((1.2.3).(a.
94800 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 b.c).(:a.:b.:c))).....@result{}.
94820 28 32 20 62 20 3a 62 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 (2.b.:b).@end.group.@end.example
94840 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a .@end.defun..@node.List.to.list.
94860 40 73 65 63 74 69 6f 6e 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 0a 46 75 6e 63 74 69 6f 6e 73 @section.List.to.list..Functions
94880 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 74 68 .returning.a.modified.copy.of.th
948a0 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6b 65 65 70 7d 0a 40 64 e.input.list...@anchor{-keep}.@d
948c0 65 66 75 6e 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 efun.-keep.(fn.list).Return.a.ne
948e0 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 73 w.list.of.the.non-@code{nil}.res
94900 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 ults.of.applying.@var{fn}.to.eac
94920 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 4c 69 6b 65 20 40 63 6f 64 65 h.item.in.@var{list}..Like.@code
94940 7b 2d 66 69 6c 74 65 72 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6c 74 65 72 7d 29 2c 20 62 75 74 {-filter}.(@pxref{-filter}),.but
94960 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 73 75 .returns.the.non-@code{nil}.resu
94980 6c 74 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 63 lts.of.@var{fn}.instead.of.the.c
949a0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 orresponding.elements.of.@var{li
949c0 73 74 7d 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 st}...Its.anaphoric.counterpart.
949e0 69 73 20 40 63 6f 64 65 7b 2d 2d 6b 65 65 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f is.@code{--keep}...@example.@gro
94a00 75 70 0a 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 29 20 up.(-keep.#'cdr.'((1.2.3).(4.5).
94a20 28 36 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 33 29 20 28 35 29 29 0a (6))).....@result{}.((2.3).(5)).
94a40 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 @end.group.@group.(-keep.(lambda
94a60 20 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 .(n).(and.(>.n.3).(*.10.n))).'(1
94a80 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 30 20 35 .2.3.4.5.6)).....@result{}.(40.5
94aa0 30 20 36 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6b 65 65 70 20 0.60).@end.group.@group.(--keep.
94ac0 28 61 6e 64 20 28 3e 20 69 74 20 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 28 31 20 32 20 33 (and.(>.it.3).(*.10.it)).'(1.2.3
94ae0 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 30 20 35 30 20 36 30 .4.5.6)).....@result{}.(40.50.60
94b00 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
94b20 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 63 61 74 7d 0a 40 64 65 66 75 6e 20 2d 63 efun..@anchor{-concat}.@defun.-c
94b40 6f 6e 63 61 74 20 28 26 72 65 73 74 20 73 65 71 75 65 6e 63 65 73 29 0a 43 6f 6e 63 61 74 65 6e oncat.(&rest.sequences).Concaten
94b60 61 74 65 20 61 6c 6c 20 40 76 61 72 7b 73 65 71 75 65 6e 63 65 73 7d 20 61 6e 64 20 6d 61 6b 65 ate.all.@var{sequences}.and.make
94b80 20 74 68 65 20 72 65 73 75 6c 74 20 61 20 6c 69 73 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 .the.result.a.list..The.result.i
94ba0 73 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 s.a.list.whose.elements.are.the.
94bc0 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 45 elements.of.all.the.arguments..E
94be0 61 63 68 20 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 76 65 63 74 ach.argument.may.be.a.list,.vect
94c00 6f 72 20 6f 72 20 73 74 72 69 6e 67 2e 0a 0a 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 65 78 63 or.or.string...All.arguments.exc
94c20 65 70 74 20 74 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 61 72 65 20 63 6f 70 69 65 64 ept.the.last.argument.are.copied
94c40 2e 20 20 54 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73 20 6a 75 73 74 20 75 73 65 ...The.last.argument.is.just.use
94c60 64 20 61 73 20 74 68 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 6e 65 77 20 6c 69 73 74 2e 20 20 d.as.the.tail.of.the.new.list...
94c80 49 66 20 74 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 0a 61 20 6c 69 If.the.last.argument.is.not.a.li
94ca0 73 74 2c 20 74 68 69 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 64 6f 74 74 65 64 20 6c 69 73 st,.this.results.in.a.dotted.lis
94cc0 74 2e 0a 0a 41 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2c 20 69 66 20 61 6c 6c 20 74 68 65 20 t...As.an.exception,.if.all.the.
94ce0 61 72 67 75 6d 65 6e 74 73 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 61 72 65 20 40 63 arguments.except.the.last.are.@c
94d00 6f 64 65 7b 6e 69 6c 7d 2c 20 61 6e 64 20 74 68 65 0a 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 ode{nil},.and.the.last.argument.
94d20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 is.not.a.list,.the.return.value.
94d40 69 73 20 74 68 61 74 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 0a 75 6e 61 6c 74 65 72 65 64 2c is.that.last.argument.unaltered,
94d60 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d .not.a.list...@example.@group.(-
94d80 63 6f 6e 63 61 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 concat.'(1)).....@result{}.(1).@
94da0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 end.group.@group.(-concat.'(1).'
94dc0 28 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 (2)).....@result{}.(1.2).@end.gr
94de0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 oup.@group.(-concat.'(1).'(2.3).
94e00 27 28 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 '(4)).....@result{}.(1.2.3.4).@e
94e20 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
94e40 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 6c 61 74 74 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 66 6c 61 74 ..@anchor{-flatten}.@defun.-flat
94e60 74 65 6e 20 28 6c 29 0a 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 40 76 61 72 7b ten.(l).Take.a.nested.list.@var{
94e80 6c 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 l}.and.return.its.contents.as.a.
94ea0 73 69 6e 67 6c 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 62 65 single,.flat.list...Note.that.be
94ec0 63 61 75 73 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 cause.@code{nil}.represents.a.li
94ee0 73 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 st.of.zero.elements.(an.empty.li
94f00 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 st),.any.mention.of.@code{nil}.i
94f20 6e 20 40 76 61 72 7b 6c 7d 20 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a 66 n.@var{l}.will.disappear.after.f
94f40 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 lattening...If.you.need.to.prese
94f60 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 rve.nils,.consider.@code{-flatte
94f80 6e 2d 6e 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 0a 6f 72 20 6d 61 70 n-n}.(@pxref{-flatten-n}).or.map
94fa0 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 .them.to.some.unique.symbol.and.
94fc0 74 68 65 6e 20 6d 61 70 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 43 6f 6e 73 65 73 20 6f 66 20 74 then.map.them.back...Conses.of.t
94fe0 77 6f 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 wo.atoms.are.considered."termina
95000 6c 73 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 65 79 0a 61 72 65 6e 27 74 20 66 6c 61 74 74 65 ls",.that.is,.they.aren't.flatte
95020 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 ned.further...See.also:.@code{-f
95040 6c 61 74 74 65 6e 2d 6e 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 0a 0a latten-n}.(@pxref{-flatten-n})..
95060 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 @example.@group.(-flatten.'((1))
95080 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.(1).@end.group.@
950a0 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 group.(-flatten.'((1.(2.3).(((4.
950c0 28 35 29 29 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 (5))))))).....@result{}.(1.2.3.4
950e0 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 .5).@end.group.@group.(-flatten.
95100 27 28 31 20 32 20 28 33 20 2e 20 34 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 '(1.2.(3...4))).....@result{}.(1
95120 20 32 20 28 33 20 2e 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d .2.(3...4)).@end.group.@end.exam
95140 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 6c 61 74 74 65 6e ple.@end.defun..@anchor{-flatten
95160 2d 6e 7d 0a 40 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 6d 20 6c 69 73 74 29 -n}.@defun.-flatten-n.(num.list)
95180 0a 46 6c 61 74 74 65 6e 20 40 76 61 72 7b 6e 75 6d 7d 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e .Flatten.@var{num}.levels.of.a.n
951a0 65 73 74 65 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f ested.@var{list}...See.also:.@co
951c0 64 65 7b 2d 66 6c 61 74 74 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 7d 29 0a de{-flatten}.(@pxref{-flatten}).
951e0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 .@example.@group.(-flatten-n.1.'
95200 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 ((1.2).((3.4).((5.6))))).....@re
95220 73 75 6c 74 7b 7d 20 28 31 20 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 0a 40 65 6e 64 20 sult{}.(1.2.(3.4).((5.6))).@end.
95240 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 group.@group.(-flatten-n.2.'((1.
95260 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 2).((3.4).((5.6))))).....@result
95280 7b 7d 20 28 31 20 32 20 33 20 34 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 {}.(1.2.3.4.(5.6)).@end.group.@g
952a0 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 roup.(-flatten-n.3.'((1.2).((3.4
952c0 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 ).((5.6))))).....@result{}.(1.2.
952e0 33 20 34 20 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 3.4.5.6).@end.group.@end.example
95300 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 7d 0a 40 .@end.defun..@anchor{-replace}.@
95320 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 52 65 defun.-replace.(old.new.list).Re
95340 70 6c 61 63 65 20 61 6c 6c 20 40 76 61 72 7b 6f 6c 64 7d 20 69 74 65 6d 73 20 69 6e 20 40 76 61 place.all.@var{old}.items.in.@va
95360 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 40 76 61 72 7b 6e 65 77 7d 2e 0a 0a 45 6c 65 6d 65 6e 74 r{list}.with.@var{new}...Element
95380 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 71 75 61 6c s.are.compared.using.@code{equal
953a0 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 61 74 7d }...See.also:.@code{-replace-at}
953c0 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 65 2d 61 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 .(@pxref{-replace-at})..@example
953e0 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 .@group.(-replace.1."1".'(1.2.3.
95400 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 32 20 33 4.3.2.1)).....@result{}.("1".2.3
95420 20 34 20 33 20 32 20 22 31 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .4.3.2."1").@end.group.@group.(-
95440 72 65 70 6c 61 63 65 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 replace."foo"."bar".'("a"."nice"
95460 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 ."foo"."sentence"."about"."foo")
95480 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 ).....@result{}.("a"."nice"."bar
954a0 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 40 65 6e 64 "."sentence"."about"."bar").@end
954c0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 .group.@group.(-replace.1.2.nil)
954e0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 .....@result{}.nil.@end.group.@e
95500 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
95520 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 66 replace-first}.@defun.-replace-f
95540 69 72 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 74 68 65 20 irst.(old.new.list).Replace.the.
95560 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 40 76 61 72 7b 6f 6c 64 7d 20 77 69 first.occurrence.of.@var{old}.wi
95580 74 68 20 40 76 61 72 7b 6e 65 77 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 45 6c 65 th.@var{new}.in.@var{list}...Ele
955a0 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 ments.are.compared.using.@code{e
955c0 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 66 69 72 qual}...See.also:.@code{-map-fir
955e0 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 29 0a 0a 40 65 78 61 6d 70 st}.(@pxref{-map-first})..@examp
95600 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 22 20 le.@group.(-replace-first.1."1".
95620 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.3.2.1)).....@result{}.
95640 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ("1".2.3.4.3.2.1).@end.group.@gr
95660 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 oup.(-replace-first."foo"."bar".
95680 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 '("a"."nice"."foo"."sentence"."a
956a0 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 bout"."foo")).....@result{}.("a"
956c0 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 ."nice"."bar"."sentence"."about"
956e0 20 22 66 6f 6f 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c ."foo").@end.group.@group.(-repl
95700 61 63 65 2d 66 69 72 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d ace-first.1.2.nil).....@result{}
95720 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .nil.@end.group.@end.example.@en
95740 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7d 0a d.defun..@anchor{-replace-last}.
95760 40 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 @defun.-replace-last.(old.new.li
95780 73 74 29 0a 52 65 70 6c 61 63 65 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 st).Replace.the.last.occurrence.
957a0 6f 66 20 40 76 61 72 7b 6f 6c 64 7d 20 77 69 74 68 20 40 76 61 72 7b 6e 65 77 7d 20 69 6e 20 40 of.@var{old}.with.@var{new}.in.@
957c0 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 var{list}...Elements.are.compare
957e0 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a d.using.@code{equal}...See.also:
95800 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 6c .@code{-map-last}.(@pxref{-map-l
95820 61 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 ast})..@example.@group.(-replace
95840 2d 6c 61 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 -last.1."1".'(1.2.3.4.3.2.1))...
95860 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 40 65 ..@result{}.(1.2.3.4.3.2."1").@e
95880 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 nd.group.@group.(-replace-last."
958a0 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 foo"."bar".'("a"."nice"."foo"."s
958c0 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 40 72 65 entence"."about"."foo")).....@re
958e0 73 75 6c 74 7b 7d 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e sult{}.("a"."nice"."foo"."senten
95900 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ce"."about"."bar").@end.group.@g
95920 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 roup.(-replace-last.1.2.nil)....
95940 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .@result{}.nil.@end.group.@end.e
95960 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 73 65 xample.@end.defun..@anchor{-inse
95980 72 74 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 73 65 72 74 2d 61 74 20 28 6e 20 78 20 6c 69 rt-at}.@defun.-insert-at.(n.x.li
959a0 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 40 76 61 72 7b 78 7d 20 69 st).Return.a.list.with.@var{x}.i
959c0 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 74 20 70 6f 73 69 74 nserted.into.@var{list}.at.posit
959e0 69 6f 6e 20 40 76 61 72 7b 6e 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 ion.@var{n}...See.also:.@code{-s
95a00 70 6c 69 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 7d 29 2c 20 40 63 6f 64 65 7b plice}.(@pxref{-splice}),.@code{
95a20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 2d 6c 69 -splice-list}.(@pxref{-splice-li
95a40 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 73 65 72 74 2d 61 st})..@example.@group.(-insert-a
95a60 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 t.1.'x.'(a.b.c)).....@result{}.(
95a80 61 20 78 20 62 20 63 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 73 a.x.b.c).@end.group.@group.(-ins
95aa0 65 72 74 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 ert-at.12.'x.'(a.b.c)).....@resu
95ac0 6c 74 7b 7d 20 28 61 20 62 20 63 20 78 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 lt{}.(a.b.c.x).@end.group.@end.e
95ae0 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c xample.@end.defun..@anchor{-repl
95b00 61 63 65 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 ace-at}.@defun.-replace-at.(n.x.
95b20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 list).Return.a.list.with.element
95b40 20 61 74 20 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 .at.Nth.position.in.@var{list}.r
95b60 65 70 6c 61 63 65 64 20 77 69 74 68 20 40 76 61 72 7b 78 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a eplaced.with.@var{x}...See.also:
95b80 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 .@code{-replace}.(@pxref{-replac
95ba0 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 e})..@example.@group.(-replace-a
95bc0 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c t.0.9.'(0.1.2.3.4.5)).....@resul
95be0 74 7b 7d 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 t{}.(9.1.2.3.4.5).@end.group.@gr
95c00 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 20 33 20 34 oup.(-replace-at.1.9.'(0.1.2.3.4
95c20 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 39 20 32 20 33 20 34 20 35 29 .5)).....@result{}.(0.9.2.3.4.5)
95c40 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 .@end.group.@group.(-replace-at.
95c60 34 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 4.9.'(0.1.2.3.4.5)).....@result{
95c80 7d 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 }.(0.1.2.3.9.5).@end.group.@end.
95ca0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 70 64 example.@end.defun..@anchor{-upd
95cc0 61 74 65 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e ate-at}.@defun.-update-at.(n.fun
95ce0 63 20 6c 69 73 74 29 0a 55 73 65 20 40 76 61 72 7b 66 75 6e 63 7d 20 74 6f 20 75 70 64 61 74 65 c.list).Use.@var{func}.to.update
95d00 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a .the.Nth.element.of.@var{list}..
95d20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 Return.a.copy.of.@var{list}.wher
95d40 65 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 e.the.Nth.element.is.replaced.wi
95d60 74 68 20 74 68 65 0a 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 75 th.the.result.of.calling.@var{fu
95d80 6e 63 7d 20 6f 6e 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 nc}.on.it...See.also:.@code{-map
95da0 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 77 68 65 6e 7d 29 0a 0a 40 65 78 61 -when}.(@pxref{-map-when})..@exa
95dc0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 70 64 61 74 65 2d 61 74 20 30 20 28 6c 61 6d 62 64 mple.@group.(-update-at.0.(lambd
95de0 61 20 28 78 29 20 28 2b 20 78 20 39 29 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 a.(x).(+.x.9)).'(0.1.2.3.4.5))..
95e00 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 ...@result{}.(9.1.2.3.4.5).@end.
95e20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 70 64 61 74 65 2d 61 74 20 31 20 28 6c 61 6d 62 group.@group.(-update-at.1.(lamb
95e40 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a da.(x).(+.x.8)).'(0.1.2.3.4.5)).
95e60 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 ....@result{}.(0.9.2.3.4.5).@end
95e80 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 65 .group.@group.(--update-at.2.(le
95ea0 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 75 ngth.it).'("foo"."bar"."baz"."qu
95ec0 75 78 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 66 6f 6f 22 20 22 62 61 72 22 ux")).....@result{}.("foo"."bar"
95ee0 20 33 20 22 71 75 75 78 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 .3."quux").@end.group.@end.examp
95f00 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 61 le.@end.defun..@anchor{-remove-a
95f20 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 t}.@defun.-remove-at.(n.list).Re
95f40 74 75 72 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 turn.@var{list}.with.its.element
95f60 20 61 74 20 69 6e 64 65 78 20 40 76 61 72 7b 6e 7d 20 72 65 6d 6f 76 65 64 2e 0a 54 68 61 74 20 .at.index.@var{n}.removed..That.
95f80 69 73 2c 20 72 65 6d 6f 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 20 is,.remove.any.element.selected.
95fa0 61 73 20 28 6e 74 68 20 40 76 61 72 7b 6e 7d 20 40 76 61 72 7b 6c 69 73 74 7d 29 20 66 72 6f 6d as.(nth.@var{n}.@var{list}).from
95fc0 20 40 76 61 72 7b 6c 69 73 74 7d 0a 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c .@var{list}.and.return.the.resul
95fe0 74 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 t...This.is.a.non-destructive.op
96000 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 28 62 75 eration:.parts.of.@var{list}.(bu
96020 74 20 6e 6f 74 0a 6e 65 63 65 73 73 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 t.not.necessarily.all.of.it).are
96040 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 .copied.as.needed.to.avoid.destr
96060 75 63 74 69 76 65 6c 79 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f uctively.modifying.it...See.also
96080 3a 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 20 28 40 70 78 :.@code{-remove-at-indices}.(@px
960a0 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 29 2c 20 40 63 6f 64 65 7b ref{-remove-at-indices}),.@code{
960c0 2d 72 65 6d 6f 76 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 7d 29 2e 0a 0a 40 65 78 -remove}.(@pxref{-remove})...@ex
960e0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 61 20 62 ample.@group.(-remove-at.0.'(a.b
96100 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 62 20 63 29 0a 40 65 6e 64 20 67 72 .c)).....@result{}.(b.c).@end.gr
96120 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 61 20 62 20 63 oup.@group.(-remove-at.1.'(a.b.c
96140 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 63 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(a.c).@end.grou
96160 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 61 20 62 20 63 29 29 p.@group.(-remove-at.2.'(a.b.c))
96180 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 62 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .....@result{}.(a.b).@end.group.
961a0 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
961c0 7b 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d {-remove-at-indices}.@defun.-rem
961e0 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 52 65 ove-at-indices.(indices.list).Re
96200 74 75 72 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 turn.@var{list}.with.its.element
96220 73 20 61 74 20 40 76 61 72 7b 69 6e 64 69 63 65 73 7d 20 72 65 6d 6f 76 65 64 2e 0a 54 68 61 74 s.at.@var{indices}.removed..That
96240 20 69 73 2c 20 66 6f 72 20 65 61 63 68 20 69 6e 64 65 78 20 40 76 61 72 7b 69 7d 20 69 6e 20 40 .is,.for.each.index.@var{i}.in.@
96260 76 61 72 7b 69 6e 64 69 63 65 73 7d 2c 20 72 65 6d 6f 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 var{indices},.remove.any.element
96280 20 73 65 6c 65 63 74 65 64 0a 61 73 20 28 6e 74 68 20 40 76 61 72 7b 69 7d 20 40 76 61 72 7b 6c .selected.as.(nth.@var{i}.@var{l
962a0 69 73 74 7d 29 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 69 73 20 69 73 20 ist}).from.@var{list}...This.is.
962c0 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 a.non-destructive.operation:.par
962e0 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 28 62 75 74 20 6e 6f 74 0a 6e 65 63 65 73 73 ts.of.@var{list}.(but.not.necess
96300 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e arily.all.of.it).are.copied.as.n
96320 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f 64 eeded.to.avoid.destructively.mod
96340 69 66 79 69 6e 67 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 6d ifying.it...See.also:.@code{-rem
96360 6f 76 65 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 29 2c 20 40 63 ove-at}.(@pxref{-remove-at}),.@c
96380 6f 64 65 7b 2d 72 65 6d 6f 76 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 7d 29 2e 0a ode{-remove}.(@pxref{-remove})..
963a0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 .@example.@group.(-remove-at-ind
963c0 69 63 65 73 20 27 28 30 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 0a 20 20 20 20 40 72 65 73 ices.'(0).'(a.b.c.d.e)).....@res
963e0 75 6c 74 7b 7d 20 28 62 20 63 20 64 20 65 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ult{}.(b.c.d.e).@end.group.@grou
96400 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 31 20 33 29 20 27 28 61 p.(-remove-at-indices.'(1.3).'(a
96420 20 62 20 63 20 64 20 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 63 20 65 29 .b.c.d.e)).....@result{}.(a.c.e)
96440 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 .@end.group.@group.(-remove-at-i
96460 6e 64 69 63 65 73 20 27 28 34 20 30 20 32 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 0a 20 20 ndices.'(4.0.2).'(a.b.c.d.e))...
96480 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 62 20 64 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ..@result{}.(b.d).@end.group.@en
964a0 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 52 65 64 75 d.example.@end.defun..@node.Redu
964c0 63 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 ctions.@section.Reductions..Func
964e0 74 69 6f 6e 73 20 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 tions.reducing.lists.to.a.single
96500 20 76 61 6c 75 65 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 .value.(which.may.also.be.a.list
96520 29 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e )...@anchor{-reduce-from}.@defun
96540 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 64 .-reduce-from.(fn.init.list).Red
96560 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 uce.the.function.@var{fn}.across
96580 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b .@var{list},.starting.with.@var{
965a0 69 6e 69 74 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c init}..Return.the.result.of.appl
965c0 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 7d 20 61 6e 64 20 ying.@var{fn}.to.@var{init}.and.
965e0 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c the.first.element.of.@var{list},
96600 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 61 74 20 .then.applying.@var{fn}.to.that.
96620 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 result.and.the.second.element,.e
96640 74 63 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 tc...If.@var{list}.is.empty,.ret
96660 75 72 6e 20 40 76 61 72 7b 69 6e 69 74 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 urn.@var{init}.without.calling.@
96680 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f var{fn}...This.function's.anapho
966a0 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 ric.counterpart.is.@code{--reduc
966c0 65 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 e-from}...For.other.folds,.see.a
966e0 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 lso.@code{-reduce}.(@pxref{-redu
96700 63 65 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 ce}).and.@code{-reduce-r}.(@pxre
96720 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a f{-reduce-r})...@example.@group.
96740 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 (-reduce-from.#'-.10.'(1.2.3))..
96760 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ...@result{}.4.@end.group.@group
96780 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 .(-reduce-from.#'list.10.'(1.2.3
967a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 28 31 30 20 31 29 20 32 29 20 33 29 0a )).....@result{}.(((10.1).2).3).
967c0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d @end.group.@group.(--reduce-from
967e0 20 28 63 6f 6e 63 61 74 20 61 63 63 20 22 20 22 20 69 74 29 20 22 53 54 41 52 54 22 20 27 28 22 .(concat.acc.".".it)."START".'("
96800 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 53 54 41 52 a"."b"."c")).....@result{}."STAR
96820 54 20 61 20 62 20 63 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 T.a.b.c".@end.group.@end.example
96840 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 72 2d 66 .@end.defun..@anchor{-reduce-r-f
96860 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 rom}.@defun.-reduce-r-from.(fn.i
96880 6e 69 74 20 6c 69 73 74 29 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 nit.list).Reduce.the.function.@v
968a0 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 20 72 65 76 65 ar{fn}.across.@var{list}.in.reve
968c0 72 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 74 7d 2e 0a 52 rse,.starting.with.@var{init}..R
968e0 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 eturn.the.result.of.applying.@va
96900 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 r{fn}.to.the.last.element.of.@va
96920 72 7b 6c 69 73 74 7d 20 61 6e 64 0a 40 76 61 72 7b 69 6e 69 74 7d 2c 20 74 68 65 6e 20 61 70 70 r{list}.and.@var{init},.then.app
96940 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d lying.@var{fn}.to.the.second-to-
96960 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 last.element.and.the.previous.re
96980 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c sult.of.@var{fn},.etc...That.is,
969a0 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 .the.first.argument.of.@var{fn}.
969c0 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 is.the.current.element,.and.its.
969e0 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a second.argument.the.accumulated.
96a00 76 61 6c 75 65 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 value...If.@var{list}.is.empty,.
96a20 72 65 74 75 72 6e 20 40 76 61 72 7b 69 6e 69 74 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e return.@var{init}.without.callin
96a40 67 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 g.@var{fn}...This.function.is.li
96a60 6b 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d ke.@code{-reduce-from}.(@pxref{-
96a80 72 65 64 75 63 65 2d 66 72 6f 6d 7d 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 reduce-from}).but.the.operation.
96aa0 61 73 73 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 associates.from.the.right.rather
96ac0 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 .than.left...In.other.words,.it.
96ae0 73 74 61 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 starts.from.the.end.of.@var{list
96b00 7d 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 }.and.flips.the.arguments.to.@va
96b20 72 7b 66 6e 7d 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b 65 r{fn}...Conceptually,.it.is.like
96b40 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 .replacing.the.conses.in.@var{li
96b60 73 74 7d 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 6e st}.with.applications.of.@var{fn
96b80 7d 2c 20 61 6e 64 0a 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 74 68 20 40 76 61 72 7b 69 },.and.its.last.link.with.@var{i
96ba0 6e 69 74 7d 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 nit},.and.evaluating.the.resulti
96bc0 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 ng.expression...This.function's.
96be0 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d anaphoric.counterpart.is.@code{-
96c00 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 -reduce-r-from}...For.other.fold
96c20 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 s,.see.also.@code{-reduce-r}.(@p
96c40 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 xref{-reduce-r}).and.@code{-redu
96c60 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 ce}.(@pxref{-reduce})...@example
96c80 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 .@group.(-reduce-r-from.#'-.10.'
96ca0 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 2d 38 0a 40 65 6e 64 20 67 (1.2.3)).....@result{}.-8.@end.g
96cc0 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 roup.@group.(-reduce-r-from.#'li
96ce0 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 st.10.'(1.2.3)).....@result{}.(1
96d00 20 28 32 20 28 33 20 31 30 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 .(2.(3.10))).@end.group.@group.(
96d20 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 --reduce-r-from.(concat.it.".".a
96d40 63 63 29 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 cc)."END".'("a"."b"."c")).....@r
96d60 65 73 75 6c 74 7b 7d 20 22 61 20 62 20 63 20 45 4e 44 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 esult{}."a.b.c.END".@end.group.@
96d80 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
96da0 2d 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 -reduce}.@defun.-reduce.(fn.list
96dc0 29 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 ).Reduce.the.function.@var{fn}.a
96de0 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 cross.@var{list}..Return.the.res
96e00 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 ult.of.applying.@var{fn}.to.the.
96e20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d first.two.elements.of.@var{list}
96e40 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 61 74 ,.then.applying.@var{fn}.to.that
96e60 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 .result.and.the.third.element,.e
96e80 74 63 2e 0a 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e tc..If.@var{list}.contains.a.sin
96ea0 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 gle.element,.return.it.without.c
96ec0 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 2e 0a 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 alling.@var{fn}..If.@var{list}.i
96ee0 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 s.empty,.return.the.result.of.ca
96f00 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 77 69 74 68 20 6e 6f 0a 61 72 67 75 6d 65 6e 74 73 lling.@var{fn}.with.no.arguments
96f20 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ...This.function's.anaphoric.cou
96f40 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 7d 2e 0a 0a 46 6f nterpart.is.@code{--reduce}...Fo
96f60 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 r.other.folds,.see.also.@code{-r
96f80 65 64 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d educe-from}.(@pxref{-reduce-from
96fa0 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b }).and.@code{-reduce-r}.(@pxref{
96fc0 2d 72 65 64 75 63 65 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d -reduce-r})...@example.@group.(-
96fe0 72 65 64 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 reduce.#'-.'(1.2.3.4)).....@resu
97000 6c 74 7b 7d 20 2d 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 lt{}.-8.@end.group.@group.(-redu
97020 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c ce.#'list.'(1.2.3.4)).....@resul
97040 74 7b 7d 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 t{}.(((1.2).3).4).@end.group.@gr
97060 6f 75 70 0a 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 oup.(--reduce.(format."%s-%d".ac
97080 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 31 c.it).'(1.2.3)).....@result{}."1
970a0 2d 32 2d 33 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 -2-3".@end.group.@end.example.@e
970c0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 72 7d 0a 40 64 65 nd.defun..@anchor{-reduce-r}.@de
970e0 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 64 75 63 65 20 74 fun.-reduce-r.(fn.list).Reduce.t
97100 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 61 72 he.function.@var{fn}.across.@var
97120 7b 6c 69 73 74 7d 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 {list}.in.reverse..Return.the.re
97140 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 sult.of.applying.@var{fn}.to.the
97160 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d .last.two.elements.of.@var{list}
97180 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 ,.then.applying.@var{fn}.to.the.
971a0 74 68 69 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 third-to-last.element.and.the.pr
971c0 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 65 74 63 2e 20 evious.result.of.@var{fn},.etc..
971e0 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 .That.is,.the.first.argument.of.
97200 40 76 61 72 7b 66 6e 7d 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c @var{fn}.is.the.current.element,
97220 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 .and.its.second.argument.the.acc
97240 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 umulated.value...If.@var{list}.c
97260 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e ontains.a.single.element,.return
97280 20 69 74 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 2e 20 20 49 .it.without.calling.@var{fn}...I
972a0 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 f.@var{list}.is.empty,.return.th
972c0 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 0a 77 69 74 e.result.of.calling.@var{fn}.wit
972e0 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 h.no.arguments...This.function.i
97300 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 s.like.@code{-reduce}.(@pxref{-r
97320 65 64 75 63 65 7d 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 educe}).but.the.operation.associ
97340 61 74 65 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 ates.from.the.right.rather.than.
97360 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 left...In.other.words,.it.starts
97380 20 66 72 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 .from.the.end.of.@var{list}.and.
973a0 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 66 6e 7d 2e flips.the.arguments.to.@var{fn}.
973c0 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 ..Conceptually,.it.is.like.repla
973e0 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 cing.the.conses.in.@var{list}.wi
97400 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 0a 69 67 6e th.applications.of.@var{fn},.ign
97420 6f 72 69 6e 67 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 oring.its.last.link,.and.evaluat
97440 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 ing.the.resulting.expression...T
97460 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 his.function's.anaphoric.counter
97480 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 2d 72 7d 2e 0a 0a 46 6f 72 20 part.is.@code{--reduce-r}...For.
974a0 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 other.folds,.see.also.@code{-red
974c0 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 uce-r-from}.(@pxref{-reduce-r-fr
974e0 6f 6d 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b om}).and.@code{-reduce}.(@pxref{
97500 2d 72 65 64 75 63 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 -reduce})...@example.@group.(-re
97520 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 duce-r.#'-.'(1.2.3.4)).....@resu
97540 6c 74 7b 7d 20 2d 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 lt{}.-2.@end.group.@group.(-redu
97560 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 ce-r.#'list.'(1.2.3.4)).....@res
97580 75 6c 74 7b 7d 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ult{}.(1.(2.(3.4))).@end.group.@
975a0 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 group.(--reduce-r.(format."%s-%d
975c0 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ".acc.it).'(1.2.3)).....@result{
975e0 7d 20 22 33 2d 32 2d 31 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c }."3-2-1".@end.group.@end.exampl
97600 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e e.@end.defun..@anchor{-reduction
97620 73 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 s-from}.@defun.-reductions-from.
97640 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 (fn.init.list).Return.a.list.of.
97660 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f @var{fn}'s.intermediate.reductio
97680 6e 73 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 ns.across.@var{list}..That.is,.a
976a0 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 .list.of.the.intermediate.values
976c0 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d .of.the.accumulator.when.@code{-
976e0 72 65 64 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 66 72 6f reduce-from}.(@pxref{-reduce-fro
97700 6d 7d 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 m}).(which.see).is.called.with.t
97720 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f he.same.arguments...This.functio
97740 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f n's.anaphoric.counterpart.is.@co
97760 64 65 7b 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 de{--reductions-from}...For.othe
97780 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 r.folds,.see.also.@code{-reducti
977a0 6f 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 ons}.(@pxref{-reductions}).and.@
977c0 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 code{-reductions-r}.(@pxref{-red
977e0 75 63 74 69 6f 6e 73 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d uctions-r})...@example.@group.(-
97800 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 reductions-from.#'max.0.'(2.1.4.
97820 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 32 20 32 20 34 20 34 29 0a 40 65 3)).....@result{}.(0.2.2.4.4).@e
97840 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f nd.group.@group.(-reductions-fro
97860 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b m.#'*.1.'(1.2.3.4)).....@result{
97880 7d 20 28 31 20 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 }.(1.1.2.6.24).@end.group.@group
978a0 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e .(--reductions-from.(format."(FN
978c0 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 .%s.%d)".acc.it)."INIT".'(1.2.3)
978e0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 ).....@result{}.("INIT"."(FN.INI
97900 54 20 31 29 22 20 22 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 28 46 4e 20 T.1)"."(FN.(FN.INIT.1).2)"."(FN.
97920 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 40 65 6e 64 20 67 72 6f (FN.(FN.INIT.1).2).3)").@end.gro
97940 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
97960 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d hor{-reductions-r-from}.@defun.-
97980 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 reductions-r-from.(fn.init.list)
979a0 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 .Return.a.list.of.@var{fn}'s.int
979c0 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 ermediate.reductions.across.reve
979e0 72 73 65 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 rsed.@var{list}..That.is,.a.list
97a00 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 .of.the.intermediate.values.of.t
97a20 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 he.accumulator.when.@code{-reduc
97a40 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e-r-from}.(@pxref{-reduce-r-from
97a60 7d 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 }).(which.see).is.called.with.th
97a80 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e.same.arguments...This.function
97aa0 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 's.anaphoric.counterpart.is.@cod
97ac0 65 7b 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 e{--reductions-r-from}...For.oth
97ae0 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 er.folds,.see.also.@code{-reduct
97b00 69 6f 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 ions}.(@pxref{-reductions}).and.
97b20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 @code{-reductions-r}.(@pxref{-re
97b40 64 75 63 74 69 6f 6e 73 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 ductions-r})...@example.@group.(
97b60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 -reductions-r-from.#'max.0.'(2.1
97b80 20 34 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 34 20 34 20 33 20 30 29 .4.3)).....@result{}.(4.4.4.3.0)
97ba0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d .@end.group.@group.(-reductions-
97bc0 72 2d 66 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 r-from.#'*.1.'(1.2.3.4)).....@re
97be0 73 75 6c 74 7b 7d 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 sult{}.(24.24.12.4.1).@end.group
97c00 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f .@group.(--reductions-r-from.(fo
97c20 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 22 49 4e 49 54 22 rmat."(FN.%d.%s)".it.acc)."INIT"
97c40 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 28 46 4e 20 31 .'(1.2.3)).....@result{}.("(FN.1
97c60 20 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 28 46 4e 20 32 20 28 46 4e .(FN.2.(FN.3.INIT)))"."(FN.2.(FN
97c80 20 33 20 49 4e 49 54 29 29 22 20 22 28 46 4e 20 33 20 49 4e 49 54 29 22 20 22 49 4e 49 54 22 29 .3.INIT))"."(FN.3.INIT)"."INIT")
97ca0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
97cc0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 0a 40 64 65 66 75 6e fun..@anchor{-reductions}.@defun
97ce0 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 .-reductions.(fn.list).Return.a.
97d00 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 list.of.@var{fn}'s.intermediate.
97d20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 reductions.across.@var{list}..Th
97d40 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 at.is,.a.list.of.the.intermediat
97d60 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e e.values.of.the.accumulator.when
97d80 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d .@code{-reduce}.(@pxref{-reduce}
97da0 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 ).(which.see).is.called.with.the
97dc0 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 .same.arguments...This.function'
97de0 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 s.anaphoric.counterpart.is.@code
97e00 7b 2d 2d 72 65 64 75 63 74 69 6f 6e 73 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 {--reductions}...For.other.folds
97e20 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 20 28 40 ,.see.also.@code{-reductions}.(@
97e40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 pxref{-reductions}).and.@code{-r
97e60 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 eductions-r}.(@pxref{-reductions
97e80 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 -r})...@example.@group.(-reducti
97ea0 6f 6e 73 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ons.#'+.'(1.2.3.4)).....@result{
97ec0 7d 20 28 31 20 33 20 36 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 }.(1.3.6.10).@end.group.@group.(
97ee0 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 -reductions.#'*.'(1.2.3.4)).....
97f00 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a @result{}.(1.2.6.24).@end.group.
97f20 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 28 46 @group.(--reductions.(format."(F
97f40 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 N.%s.%d)".acc.it).'(1.2.3)).....
97f60 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e @result{}.(1."(FN.1.2)"."(FN.(FN
97f80 20 31 20 32 29 20 33 29 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 .1.2).3)").@end.group.@end.examp
97fa0 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f le.@end.defun..@anchor{-reductio
97fc0 6e 73 2d 72 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c ns-r}.@defun.-reductions-r.(fn.l
97fe0 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 ist).Return.a.list.of.@var{fn}'s
98000 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 .intermediate.reductions.across.
98020 72 65 76 65 72 73 65 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 reversed.@var{list}..That.is,.a.
98040 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 list.of.the.intermediate.values.
98060 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 of.the.accumulator.when.@code{-r
98080 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 20 28 77 68 educe-r}.(@pxref{-reduce-r}).(wh
980a0 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 ich.see).is.called.with.the.same
980c0 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 .arguments...This.function's.ana
980e0 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 phoric.counterpart.is.@code{--re
98100 64 75 63 74 69 6f 6e 73 2d 72 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 ductions-r}...For.other.folds,.s
98120 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d ee.also.@code{-reductions-r-from
98140 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 29 20 61 }.(@pxref{-reductions-r-from}).a
98160 6e 64 0a 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 nd.@code{-reductions}.(@pxref{-r
98180 65 64 75 63 74 69 6f 6e 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d eductions})...@example.@group.(-
981a0 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 reductions-r.#'+.'(1.2.3.4))....
981c0 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 30 20 39 20 37 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 .@result{}.(10.9.7.4).@end.group
981e0 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 .@group.(-reductions-r.#'*.'(1.2
98200 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 34 20 32 34 20 31 32 20 34 .3.4)).....@result{}.(24.24.12.4
98220 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e ).@end.group.@group.(--reduction
98240 73 2d 72 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 s-r.(format."(FN.%d.%s)".it.acc)
98260 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 28 46 4e 20 31 .'(1.2.3)).....@result{}.("(FN.1
98280 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 20 33 29 22 20 33 29 0a 40 65 6e 64 20 67 .(FN.2.3))"."(FN.2.3)".3).@end.g
982a0 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
982c0 6e 63 68 6f 72 7b 2d 63 6f 75 6e 74 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 70 72 65 nchor{-count}.@defun.-count.(pre
982e0 64 20 6c 69 73 74 29 0a 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 d.list).Counts.the.number.of.ite
98300 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 ms.in.@var{list}.where.(@var{pre
98320 64 7d 20 69 74 65 6d 29 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 65 78 d}.item).is.non-@code{nil}...@ex
98340 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 75 6e 74 20 27 65 76 65 6e 3f 20 27 28 31 20 ample.@group.(-count.'even?.'(1.
98360 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 2.3.4.5)).....@result{}.2.@end.g
98380 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 63 6f 75 6e 74 20 28 3c 20 69 74 20 34 29 20 27 28 roup.@group.(--count.(<.it.4).'(
983a0 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 1.2.3.4)).....@result{}.3.@end.g
983c0 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
983e0 6e 63 68 6f 72 7b 2d 73 75 6d 7d 0a 40 64 65 66 75 6e 20 2d 73 75 6d 20 28 6c 69 73 74 29 0a 52 nchor{-sum}.@defun.-sum.(list).R
98400 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 eturn.the.sum.of.@var{list}...@e
98420 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 xample.@group.(-sum.()).....@res
98440 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 ult{}.0.@end.group.@group.(-sum.
98460 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 '(1)).....@result{}.1.@end.group
98480 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 .@group.(-sum.'(1.2.3.4)).....@r
984a0 65 73 75 6c 74 7b 7d 20 31 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 esult{}.10.@end.group.@end.examp
984c0 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 75 6e 6e 69 6e 67 2d le.@end.defun..@anchor{-running-
984e0 73 75 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 6c 69 73 74 29 0a sum}.@defun.-running-sum.(list).
98500 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 Return.a.list.with.running.sums.
98520 6f 66 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 76 61 72 7b 6c 69 73 of.items.in.@var{list}..@var{lis
98540 74 7d 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a t}.must.be.non-empty...@example.
98560 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 @group.(-running-sum.'(1.2.3.4))
98580 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 33 20 36 20 31 30 29 0a 40 65 6e 64 20 67 .....@result{}.(1.3.6.10).@end.g
985a0 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a roup.@group.(-running-sum.'(1)).
985c0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ....@result{}.(1).@end.group.@gr
985e0 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 40 65 72 72 6f 72 oup.(-running-sum.()).....@error
98600 7b 7d 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e {}.Wrong.type.argument:.consp,.n
98620 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 il.@end.group.@end.example.@end.
98640 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 72 6f 64 75 63 74 7d 0a 40 64 65 66 75 6e 20 defun..@anchor{-product}.@defun.
98660 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 -product.(list).Return.the.produ
98680 63 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f ct.of.@var{list}...@example.@gro
986a0 75 70 0a 28 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 up.(-product.()).....@result{}.1
986c0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 .@end.group.@group.(-product.'(1
986e0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 )).....@result{}.1.@end.group.@g
98700 72 6f 75 70 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 roup.(-product.'(1.2.3.4)).....@
98720 72 65 73 75 6c 74 7b 7d 20 32 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d result{}.24.@end.group.@end.exam
98740 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 75 6e 6e 69 6e 67 ple.@end.defun..@anchor{-running
98760 2d 70 72 6f 64 75 63 74 7d 0a 40 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 -product}.@defun.-running-produc
98780 74 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e t.(list).Return.a.list.with.runn
987a0 69 6e 67 20 70 72 6f 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 ing.products.of.items.in.@var{li
987c0 73 74 7d 2e 0a 40 76 61 72 7b 6c 69 73 74 7d 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 st}..@var{list}.must.be.non-empt
987e0 79 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 y...@example.@group.(-running-pr
98800 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 oduct.'(1.2.3.4)).....@result{}.
98820 28 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 (1.2.6.24).@end.group.@group.(-r
98840 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 unning-product.'(1)).....@result
98860 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 {}.(1).@end.group.@group.(-runni
98880 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e ng-product.()).....@error{}.Wron
988a0 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 40 65 6e 64 g.type.argument:.consp,.nil.@end
988c0 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
988e0 40 61 6e 63 68 6f 72 7b 2d 69 6e 69 74 73 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 69 74 73 20 28 6c @anchor{-inits}.@defun.-inits.(l
98900 69 73 74 29 0a 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 40 76 61 72 ist).Return.all.prefixes.of.@var
98920 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 69 74 73 {list}...@example.@group.(-inits
98940 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 .'(1.2.3.4)).....@result{}.(nil.
98960 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 6e (1).(1.2).(1.2.3).(1.2.3.4)).@en
98980 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 d.group.@group.(-inits.nil).....
989a0 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 @result{}.(nil).@end.group.@grou
989c0 70 0a 28 2d 69 6e 69 74 73 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e p.(-inits.'(1)).....@result{}.(n
989e0 69 6c 20 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a il.(1)).@end.group.@end.example.
98a00 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 69 6c 73 7d 0a 40 64 65 66 @end.defun..@anchor{-tails}.@def
98a20 75 6e 20 2d 74 61 69 6c 73 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 un.-tails.(list).Return.all.suff
98a40 69 78 65 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 ixes.of.@var{list}...@example.@g
98a60 72 6f 75 70 0a 28 2d 74 61 69 6c 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 roup.(-tails.'(1.2.3.4)).....@re
98a80 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 sult{}.((1.2.3.4).(2.3.4).(3.4).
98aa0 28 34 29 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 69 (4).nil).@end.group.@group.(-tai
98ac0 6c 73 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 ls.nil).....@result{}.(nil).@end
98ae0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 .group.@group.(-tails.'(1)).....
98b00 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 @result{}.((1).nil).@end.group.@
98b20 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
98b40 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 70 -common-prefix}.@defun.-common-p
98b60 72 65 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c refix.(&rest.lists).Return.the.l
98b80 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 ongest.common.prefix.of.@var{lis
98ba0 74 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 ts}...@example.@group.(-common-p
98bc0 72 65 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 refix.'(1)).....@result{}.(1).@e
98be0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 nd.group.@group.(-common-prefix.
98c00 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c '(1.2).'(3.4).'(1.2)).....@resul
98c20 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f t{}.().@end.group.@group.(-commo
98c40 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 n-prefix.'(1.2).'(1.2.3).'(1.2.3
98c60 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 .4)).....@result{}.(1.2).@end.gr
98c80 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
98ca0 63 68 6f 72 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d chor{-common-suffix}.@defun.-com
98cc0 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 mon-suffix.(&rest.lists).Return.
98ce0 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 40 76 61 the.longest.common.suffix.of.@va
98d00 72 7b 6c 69 73 74 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d r{lists}...@example.@group.(-com
98d20 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 mon-suffix.'(1)).....@result{}.(
98d40 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 1).@end.group.@group.(-common-su
98d60 66 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 ffix.'(1.2).'(3.4).'(1.2)).....@
98d80 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d result{}.().@end.group.@group.(-
98da0 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 common-suffix.'(1.2.3.4).'(2.3.4
98dc0 29 20 27 28 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 ).'(3.4)).....@result{}.(3.4).@e
98de0 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
98e00 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 69 6e 7d 0a 40 64 65 66 75 6e 20 2d 6d 69 6e 20 28 6c 69 73 ..@anchor{-min}.@defun.-min.(lis
98e20 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f t).Return.the.smallest.value.fro
98e40 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 m.@var{list}.of.numbers.or.marke
98e60 72 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 30 29 29 rs...@example.@group.(-min.'(0))
98e80 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.0.@end.group.@gro
98ea0 75 70 0a 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d up.(-min.'(3.2.1)).....@result{}
98ec0 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 31 20 32 .1.@end.group.@group.(-min.'(1.2
98ee0 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a .3)).....@result{}.1.@end.group.
98f00 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
98f20 7b 2d 6d 69 6e 2d 62 79 7d 0a 40 64 65 66 75 6e 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 {-min-by}.@defun.-min-by.(compar
98f40 61 74 6f 72 20 6c 69 73 74 29 0a 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e ator.list).Take.a.comparison.fun
98f60 63 74 69 6f 6e 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 61 6e 64 20 61 20 40 76 61 ction.@var{comparator}.and.a.@va
98f80 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 6c 65 61 73 74 20 65 6c 65 r{list}.and.return.the.least.ele
98fa0 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 ment.of.the.list.by.the.comparis
98fc0 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f on.function...See.also.combinato
98fe0 72 20 40 63 6f 64 65 7b 2d 6f 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6f 6e 7d 29 20 77 68 69 63 68 r.@code{-on}.(@pxref{-on}).which
99000 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 .can.transform.the.values.before
99020 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 .comparing.them...@example.@grou
99040 70 0a 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 40 72 p.(-min-by.'>.'(4.3.6.1)).....@r
99060 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d esult{}.1.@end.group.@group.(--m
99080 69 6e 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 27 in-by.(>.(car.it).(car.other)).'
990a0 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ((1.2.3).(2).(3.2))).....@result
990c0 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d {}.(1.2.3).@end.group.@group.(--
990e0 6d 69 6e 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 68 20 6f 74 min-by.(>.(length.it).(length.ot
99100 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 her)).'((1.2.3).(2).(3.2))).....
99120 40 72 65 73 75 6c 74 7b 7d 20 28 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 @result{}.(2).@end.group.@end.ex
99140 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 78 7d 0a ample.@end.defun..@anchor{-max}.
99160 40 64 65 66 75 6e 20 2d 6d 61 78 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 @defun.-max.(list).Return.the.la
99180 72 67 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 6f 66 20 6e rgest.value.from.@var{list}.of.n
991a0 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 umbers.or.markers...@example.@gr
991c0 6f 75 70 0a 28 2d 6d 61 78 20 27 28 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a oup.(-max.'(0)).....@result{}.0.
991e0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 28 33 20 32 20 31 29 @end.group.@group.(-max.'(3.2.1)
99200 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ).....@result{}.3.@end.group.@gr
99220 6f 75 70 0a 28 2d 6d 61 78 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b oup.(-max.'(1.2.3)).....@result{
99240 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 }.3.@end.group.@end.example.@end
99260 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 78 2d 62 79 7d 0a 40 64 65 66 75 6e 20 .defun..@anchor{-max-by}.@defun.
99280 2d 6d 61 78 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 54 61 6b 65 20 61 -max-by.(comparator.list).Take.a
992a0 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 63 6f 6d 70 61 72 .comparison.function.@var{compar
992c0 61 74 6f 72 7d 20 61 6e 64 20 61 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 ator}.and.a.@var{list}.and.retur
992e0 6e 0a 74 68 65 20 67 72 65 61 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 n.the.greatest.element.of.the.li
99300 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a st.by.the.comparison.function...
99320 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 40 63 6f 64 65 7b 2d 6f 6e 7d 20 28 See.also.combinator.@code{-on}.(
99340 40 70 78 72 65 66 7b 2d 6f 6e 7d 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d @pxref{-on}).which.can.transform
99360 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 .the.values.before.comparing.the
99380 6d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 2d 62 79 20 27 3e 20 m...@example.@group.(-max-by.'>.
993a0 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 36 0a 40 65 6e 64 '(4.3.6.1)).....@result{}.6.@end
993c0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 .group.@group.(--max-by.(>.(car.
993e0 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 it).(car.other)).'((1.2.3).(2).(
99400 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 29 0a 40 65 6e 64 20 3.2))).....@result{}.(3.2).@end.
99420 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 group.@group.(--max-by.(>.(lengt
99440 68 20 69 74 29 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 h.it).(length.other)).'((1.2.3).
99460 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 (2).(3.2))).....@result{}.(1.2.3
99480 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
994a0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 72 65 71 75 65 6e 63 69 65 73 7d 0a 40 64 65 66 efun..@anchor{-frequencies}.@def
994c0 75 6e 20 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 6c 69 73 74 29 0a 43 6f 75 6e 74 20 74 68 65 un.-frequencies.(list).Count.the
994e0 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 65 61 63 68 20 64 69 73 74 69 6e 63 74 20 65 6c .occurrences.of.each.distinct.el
99500 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 ement.of.@var{list}...Return.an.
99520 61 6c 69 73 74 20 6f 66 20 28 40 76 61 72 7b 65 6c 65 6d 65 6e 74 7d 20 2e 20 40 76 61 72 7b 6e alist.of.(@var{element}...@var{n
99540 7d 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 40 76 61 72 7b 65 6c 65 6d 65 6e 74 7d 20 6f 63 63 }),.where.each.@var{element}.occ
99560 75 72 73 20 40 76 61 72 7b 6e 7d 0a 74 69 6d 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e urs.@var{n}.times.in.@var{list}.
99580 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 ..The.test.for.equality.is.done.
995a0 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f 64 65 with.@code{equal},.or.with.@code
995c0 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 6f {-compare-fn}.if.that.is.non-@co
995e0 64 65 7b 6e 69 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 63 6f 75 6e 74 7d de{nil}...See.also.@code{-count}
99600 20 28 40 70 78 72 65 66 7b 2d 63 6f 75 6e 74 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 67 72 6f .(@pxref{-count}).and.@code{-gro
99620 75 70 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d 67 72 6f 75 70 2d 62 79 7d 29 2e 0a 0a 40 65 78 up-by}.(@pxref{-group-by})...@ex
99640 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 29 29 0a 20 ample.@group.(-frequencies.())..
99660 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ...@result{}.().@end.group.@grou
99680 70 0a 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 27 28 31 20 32 20 33 20 31 20 32 20 31 29 29 0a p.(-frequencies.'(1.2.3.1.2.1)).
996a0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 32 29 20 28 ....@result{}.((1...3).(2...2).(
996c0 33 20 2e 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 3...1)).@end.group.@group.(let.(
996e0 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 27 73 74 72 69 6e 67 3d 29 29 20 28 2d 66 72 65 71 75 (-compare-fn.#'string=)).(-frequ
99700 65 6e 63 69 65 73 20 27 28 61 20 22 61 22 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 encies.'(a."a"))).....@result{}.
99720 28 28 61 20 2e 20 32 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c ((a...2)).@end.group.@end.exampl
99740 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 55 6e 66 6f 6c 64 69 6e 67 0a 40 73 e.@end.defun..@node.Unfolding.@s
99760 65 63 74 69 6f 6e 20 55 6e 66 6f 6c 64 69 6e 67 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 ection.Unfolding..Operations.dua
99780 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 l.to.reductions,.building.lists.
997a0 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f from.a.seed.value.rather.than.co
997c0 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 nsuming.a.list.to.produce.a.sing
997e0 6c 65 20 76 61 6c 75 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 74 65 72 61 74 65 7d 0a 40 64 65 le.value...@anchor{-iterate}.@de
99800 66 75 6e 20 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 52 65 74 75 72 6e fun.-iterate.(fun.init.n).Return
99820 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 .a.list.of.iterated.applications
99840 20 6f 66 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 7d 2e 0a 0a 54 68 .of.@var{fun}.to.@var{init}...Th
99860 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 is.means.a.list.of.the.form:....
99880 28 40 76 61 72 7b 69 6e 69 74 7d 20 28 40 76 61 72 7b 66 75 6e 7d 20 40 76 61 72 7b 69 6e 69 74 (@var{init}.(@var{fun}.@var{init
998a0 7d 29 20 28 40 76 61 72 7b 66 75 6e 7d 20 28 40 76 61 72 7b 66 75 6e 7d 20 40 76 61 72 7b 69 6e }).(@var{fun}.(@var{fun}.@var{in
998c0 69 74 7d 29 29 20 40 64 6f 74 73 7b 7d 29 0a 0a 40 76 61 72 7b 6e 7d 20 69 73 20 74 68 65 20 6c it})).@dots{})..@var{n}.is.the.l
998e0 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 40 65 78 ength.of.the.returned.list...@ex
99900 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 74 65 72 61 74 65 20 23 27 31 2b 20 31 20 31 30 ample.@group.(-iterate.#'1+.1.10
99920 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 ).....@result{}.(1.2.3.4.5.6.7.8
99940 20 39 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 74 65 72 61 .9.10).@end.group.@group.(-itera
99960 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 29 0a 20 20 20 te.(lambda.(x).(+.x.x)).2.5)....
99980 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 38 20 31 36 20 33 32 29 0a 40 65 6e 64 20 67 72 .@result{}.(2.4.8.16.32).@end.gr
999a0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 20 oup.@group.(--iterate.(*.it.it).
999c0 32 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 31 36 20 32 35 36 20 36 2.5).....@result{}.(2.4.16.256.6
999e0 35 35 33 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 5536).@end.group.@end.example.@e
99a00 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 6e 66 6f 6c 64 7d 0a 40 64 65 66 75 nd.defun..@anchor{-unfold}.@defu
99a20 6e 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 29 0a 42 75 69 6c 64 20 61 20 6c 69 73 n.-unfold.(fun.seed).Build.a.lis
99a40 74 20 66 72 6f 6d 20 40 76 61 72 7b 73 65 65 64 7d 20 75 73 69 6e 67 20 40 76 61 72 7b 66 75 6e t.from.@var{seed}.using.@var{fun
99a60 7d 2e 0a 0a 54 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 }...This.is."dual".operation.to.
99a80 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 @code{-reduce-r}.(@pxref{-reduce
99aa0 2d 72 7d 29 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 -r}):.while.-reduce-r.consumes.a
99ac0 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c .list.to.produce.a.single.value,
99ae0 20 40 63 6f 64 65 7b 2d 75 6e 66 6f 6c 64 7d 20 28 40 70 78 72 65 66 7b 2d 75 6e 66 6f 6c 64 7d .@code{-unfold}.(@pxref{-unfold}
99b00 29 20 74 61 6b 65 73 20 61 0a 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 ).takes.a.seed.value.and.builds.
99b20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a a.(potentially.infinite!).list..
99b40 0a 40 76 61 72 7b 66 75 6e 7d 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e .@var{fun}.should.return.@code{n
99b60 69 6c 7d 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 6f 63 65 il}.to.stop.the.generating.proce
99b80 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 40 76 61 72 7b 61 7d 20 2e 20 40 76 61 72 7b 62 7d ss,.or.a.cons.(@var{a}...@var{b}
99ba0 29 2c 20 77 68 65 72 65 20 40 76 61 72 7b 61 7d 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 ),.where.@var{a}.will.be.prepend
99bc0 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 40 76 61 72 7b 62 7d 20 69 73 0a ed.to.the.result.and.@var{b}.is.
99be0 74 68 65 20 6e 65 77 20 73 65 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 the.new.seed...@example.@group.(
99c00 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 -unfold.(lambda.(x).(unless.(=.x
99c20 20 30 29 20 28 63 6f 6e 73 20 78 20 28 31 2d 20 78 29 29 29 29 20 31 30 29 0a 20 20 20 20 40 72 .0).(cons.x.(1-.x)))).10).....@r
99c40 65 73 75 6c 74 7b 7d 20 28 31 30 20 39 20 38 20 37 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 40 esult{}.(10.9.8.7.6.5.4.3.2.1).@
99c60 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e end.group.@group.(--unfold.(when
99c80 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 .it.(cons.it.(cdr.it))).'(1.2.3.
99ca0 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 4)).....@result{}.((1.2.3.4).(2.
99cc0 33 20 34 29 20 28 33 20 34 29 20 28 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 3.4).(3.4).(4)).@end.group.@grou
99ce0 70 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 62 p.(--unfold.(when.it.(cons.it.(b
99d00 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 utlast.it))).'(1.2.3.4)).....@re
99d20 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 29 20 28 31 20 32 20 33 29 20 28 31 20 32 29 20 sult{}.((1.2.3.4).(1.2.3).(1.2).
99d40 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e (1)).@end.group.@end.example.@en
99d60 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 65 61 74 7d 0a 40 64 65 66 75 6e d.defun..@anchor{-repeat}.@defun
99d80 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 .-repeat.(n.x).Return.a.new.list
99da0 20 6f 66 20 6c 65 6e 67 74 68 20 40 76 61 72 7b 6e 7d 20 77 69 74 68 20 65 61 63 68 20 65 6c 65 .of.length.@var{n}.with.each.ele
99dc0 6d 65 6e 74 20 62 65 69 6e 67 20 40 76 61 72 7b 78 7d 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 ment.being.@var{x}..Return.@code
99de0 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e {nil}.if.@var{n}.is.less.than.1.
99e00 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 ..@example.@group.(-repeat.3.:a)
99e20 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 3a 61 20 3a 61 20 3a 61 29 0a 40 65 6e 64 20 67 .....@result{}.(:a.:a.:a).@end.g
99e40 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 0a 20 20 20 20 40 roup.@group.(-repeat.1.:a).....@
99e60 72 65 73 75 6c 74 7b 7d 20 28 3a 61 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a result{}.(:a).@end.group.@group.
99e80 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a (-repeat.0.:a).....@result{}.().
99ea0 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
99ec0 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 79 63 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 63 79 63 6c un..@anchor{-cycle}.@defun.-cycl
99ee0 65 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 e.(list).Return.an.infinite.circ
99f00 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 72 65 74 ular.copy.of.@var{list}..The.ret
99f20 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c urned.list.cycles.through.the.el
99f40 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 70 65 61 74 73 ements.of.@var{list}.and.repeats
99f60 0a 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 .from.the.beginning...@example.@
99f80 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 group.(-take.5.(-cycle.'(1.2.3))
99fa0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 20 32 29 0a 40 65 6e 64 ).....@result{}.(1.2.3.1.2).@end
99fc0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 .group.@group.(-take.7.(-cycle.'
99fe0 28 31 20 22 61 6e 64 22 20 33 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 (1."and".3))).....@result{}.(1."
9a000 61 6e 64 22 20 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 and".3.1."and".3.1).@end.group.@
9a020 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 28 2d 63 79 63 6c 65 20 27 28 33 29 29 20 group.(-zip-lists.(-cycle.'(3)).
9a040 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 33 20 31 29 20 28 33 20 '(1.2)).....@result{}.((3.1).(3.
9a060 32 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 2)).@end.group.@end.example.@end
9a080 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 50 72 65 64 69 63 61 74 65 73 0a 40 73 65 63 74 69 6f .defun..@node.Predicates.@sectio
9a0a0 6e 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 6f 6e 65 20 n.Predicates..Reductions.of.one.
9a0c0 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 or.more.lists.to.a.boolean.value
9a0e0 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 7d 0a 40 64 65 66 75 6e 20 2d 73 6f 6d 65 20 28 ...@anchor{-some}.@defun.-some.(
9a100 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 pred.list).Return.(@var{pred}.x)
9a120 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 74 65 6d 20 77 .for.the.first.@var{list}.item.w
9a140 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 here.(@var{pred}.x).is.non-@code
9a160 7b 6e 69 6c 7d 2c 20 65 6c 73 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 41 6c 69 61 73 3a 20 {nil},.else.@code{nil}...Alias:.
9a180 40 63 6f 64 65 7b 2d 61 6e 79 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e @code{-any}...This.function's.an
9a1a0 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 73 aphoric.counterpart.is.@code{--s
9a1c0 6f 6d 65 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 20 23 27 ome}...@example.@group.(-some.#'
9a1e0 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b stringp.'(1."2".3)).....@result{
9a200 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 6d 65 20 28 73 }.t.@end.group.@group.(--some.(s
9a220 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 61 tring-match-p."x".it).'("foo"."a
9a240 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 xe"."xor")).....@result{}.1.@end
9a260 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 .group.@group.(--some.(=.it-inde
9a280 78 20 33 29 20 27 28 30 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c x.3).'(0.1.2)).....@result{}.nil
9a2a0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
9a2c0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 76 65 72 79 7d 0a 40 64 65 66 75 6e 20 2d 65 76 65 fun..@anchor{-every}.@defun.-eve
9a2e0 72 79 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f 64 65 7b ry.(pred.list).Return.non-@code{
9a300 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 nil}.if.@var{pred}.returns.non-@
9a320 63 6f 64 65 7b 6e 69 6c 7d 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b code{nil}.for.all.items.in.@var{
9a340 6c 69 73 74 7d 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 list}..If.so,.return.the.last.su
9a360 63 68 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 2e 20 20 4f 74 68 65 72 77 ch.result.of.@var{pred}...Otherw
9a380 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 ise,.once.an.item.is.reached.for
9a3a0 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b .which.@var{pred}.returns.@code{
9a3c0 6e 69 6c 7d 2c 20 72 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 77 69 74 68 6f 75 74 0a nil},.return.@code{nil}.without.
9a3e0 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 calling.@var{pred}.on.any.furthe
9a400 72 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e r.@var{list}.elements...This.fun
9a420 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 2d 70 7d 2c 20 62 ction.is.like.@code{-every-p},.b
9a440 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 6e ut.on.success.returns.the.last.n
9a460 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 on-@code{nil}.result.of.@var{pre
9a480 64 7d 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 40 63 6f 64 65 7b 74 7d 2e 0a 0a 54 68 d}.instead.of.just.@code{t}...Th
9a4a0 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 is.function's.anaphoric.counterp
9a4c0 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 76 65 72 79 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 art.is.@code{--every}...@example
9a4e0 0a 40 67 72 6f 75 70 0a 28 2d 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 .@group.(-every.#'numberp.'(1.2.
9a500 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 3)).....@result{}.t.@end.group.@
9a520 67 72 6f 75 70 0a 28 2d 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 group.(--every.(string-match-p."
9a540 78 22 20 69 74 29 20 27 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 x".it).'("axe"."xor")).....@resu
9a560 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 65 76 65 72 lt{}.0.@end.group.@group.(--ever
9a580 79 20 28 3d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 0a 20 20 20 20 y.(=.it.it-index).'(0.1.3)).....
9a5a0 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 @result{}.nil.@end.group.@end.ex
9a5c0 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 79 3f 7d ample.@end.defun..@anchor{-any?}
9a5e0 0a 40 64 65 66 75 6e 20 2d 61 6e 79 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e .@defun.-any?.(pred.list).Return
9a600 20 40 63 6f 64 65 7b 74 7d 20 69 66 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d .@code{t}.if.(@var{pred}.@var{x}
9a620 29 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 66 6f 72 20 61 6e 79 20 40 76 61 72 ).is.non-@code{nil}.for.any.@var
9a640 7b 78 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 65 6c 73 65 20 40 63 6f 64 65 7b 6e 69 {x}.in.@var{list},.else.@code{ni
9a660 6c 7d 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 61 6e 79 2d 70 7d 2c 20 40 63 6f 64 65 l}...Alias:.@code{-any-p},.@code
9a680 7b 2d 73 6f 6d 65 3f 7d 2c 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 {-some?},.@code{-some-p}..@examp
9a6a0 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c le.@group.(-any?.#'numberp.'(nil
9a6c0 20 30 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 .0.t)).....@result{}.t.@end.grou
9a6e0 70 0a 40 67 72 6f 75 70 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 p.@group.(-any?.#'numberp.'(nil.
9a700 74 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f t.t)).....@result{}.nil.@end.gro
9a720 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 up.@group.(-any?.#'null.'(1.3.5)
9a740 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
9a760 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9a780 2d 61 6c 6c 3f 7d 0a 40 64 65 66 75 6e 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a -all?}.@defun.-all?.(pred.list).
9a7a0 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 74 7d 20 69 66 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 Return.@code{t}.if.(@var{pred}.@
9a7c0 76 61 72 7b 78 7d 29 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 66 6f 72 20 61 6c var{x}).is.non-@code{nil}.for.al
9a7e0 6c 20 40 76 61 72 7b 78 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 65 6c 73 65 20 40 63 l.@var{x}.in.@var{list},.else.@c
9a800 6f 64 65 7b 6e 69 6c 7d 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 ode{nil}..In.the.latter.case,.st
9a820 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 78 7d 20 66 6f 72 20 77 op.after.the.first.@var{x}.for.w
9a840 68 69 63 68 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d 29 20 69 73 0a 40 63 6f hich.(@var{pred}.@var{x}).is.@co
9a860 64 65 7b 6e 69 6c 7d 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 70 72 de{nil},.without.calling.@var{pr
9a880 65 64 7d 20 6f 6e 20 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f ed}.on.any.subsequent.elements.o
9a8a0 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 f.@var{list}...The.similar.funct
9a8c0 69 6f 6e 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 7d 20 28 40 70 78 72 65 66 7b 2d 65 76 65 72 79 ion.@code{-every}.(@pxref{-every
9a8e0 7d 29 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 }).is.more.widely.useful,.since.
9a900 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 it.returns.the.last.non-@code{ni
9a920 6c 7d 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 20 69 6e 73 74 65 61 64 20 l}.result.of.@var{pred}.instead.
9a940 6f 66 20 6a 75 73 74 20 40 63 6f 64 65 7b 74 7d 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a 41 6c of.just.@code{t}.on.success...Al
9a960 69 61 73 3a 20 40 63 6f 64 65 7b 2d 61 6c 6c 2d 70 7d 2c 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 ias:.@code{-all-p},.@code{-every
9a980 2d 70 7d 2c 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 3f 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 -p},.@code{-every?}...This.funct
9a9a0 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 ion's.anaphoric.counterpart.is.@
9a9c0 63 6f 64 65 7b 2d 2d 61 6c 6c 3f 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 code{--all?}...@example.@group.(
9a9e0 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 -all?.#'numberp.'(1.2.3)).....@r
9aa00 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 6c esult{}.t.@end.group.@group.(-al
9aa20 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 l?.#'numberp.'(2.t.6)).....@resu
9aa40 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 61 6c lt{}.nil.@end.group.@group.(--al
9aa60 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 20 34 20 36 29 29 0a 20 20 20 20 l?.(=.0.(%.it.2)).'(2.4.6)).....
9aa80 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d @result{}.t.@end.group.@end.exam
9aaa0 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6e 6f 6e 65 3f 7d 0a ple.@end.defun..@anchor{-none?}.
9aac0 40 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e @defun.-none?.(pred.list).Return
9aae0 20 40 63 6f 64 65 7b 74 7d 20 69 66 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d .@code{t}.if.(@var{pred}.@var{x}
9ab00 29 20 69 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 66 6f 72 20 61 6c 6c 20 40 76 61 72 7b 78 7d 20 ).is.@code{nil}.for.all.@var{x}.
9ab20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 65 6c 73 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a in.@var{list},.else.@code{nil}..
9ab40 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 6e 6f 6e 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 6c 65 .Alias:.@code{-none-p}..@example
9ab60 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 .@group.(-none?.'even?.'(1.2.3))
9ab80 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.nil.@end.group.@g
9aba0 72 6f 75 70 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 roup.(-none?.'even?.'(1.3.5))...
9abc0 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a ..@result{}.t.@end.group.@group.
9abe0 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 29 (--none?.(=.0.(%.it.2)).'(1.2.3)
9ac00 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
9ac20 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9ac40 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7d 0a 40 64 65 66 75 6e 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 -only-some?}.@defun.-only-some?.
9ac60 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 74 7d 20 69 66 20 64 (pred.list).Return.@code{t}.if.d
9ac80 69 66 66 65 72 65 6e 74 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 74 65 6d 73 20 62 6f 74 68 20 73 ifferent.@var{list}.items.both.s
9aca0 61 74 69 73 66 79 20 61 6e 64 20 64 6f 20 6e 6f 74 20 73 61 74 69 73 66 79 20 40 76 61 72 7b 70 atisfy.and.do.not.satisfy.@var{p
9acc0 72 65 64 7d 2e 0a 54 68 61 74 20 69 73 2c 20 69 66 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 red}..That.is,.if.@var{pred}.ret
9ace0 75 72 6e 73 20 62 6f 74 68 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 66 6f 72 20 61 74 20 6c 65 61 73 urns.both.@code{nil}.for.at.leas
9ad00 74 20 6f 6e 65 20 69 74 65 6d 2c 20 61 6e 64 0a 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 66 t.one.item,.and.non-@code{nil}.f
9ad20 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 69 74 65 6d 20 69 6e 20 40 76 or.at.least.one.other.item.in.@v
9ad40 61 72 7b 6c 69 73 74 7d 2e 20 20 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 ar{list}...Return.@code{nil}.if.
9ad60 61 6c 6c 0a 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 all.items.satisfy.the.predicate.
9ad80 6f 72 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 64 6f 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 or.none.of.them.do...Alias:.@cod
9ada0 65 7b 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 e{-only-some-p}..@example.@group
9adc0 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 0a 20 .(-only-some?.'even?.'(1.2.3))..
9ade0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ...@result{}.t.@end.group.@group
9ae00 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 .(-only-some?.'even?.'(1.3.5))..
9ae20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ...@result{}.nil.@end.group.@gro
9ae40 75 70 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 up.(-only-some?.'even?.'(2.4.6))
9ae60 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 .....@result{}.nil.@end.group.@e
9ae80 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
9aea0 63 6f 6e 74 61 69 6e 73 3f 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 6c 69 contains?}.@defun.-contains?.(li
9aec0 73 74 20 65 6c 65 6d 65 6e 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c st.element).Return.non-@code{nil
9aee0 7d 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 65 6c }.if.@var{list}.contains.@var{el
9af00 65 6d 65 6e 74 7d 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 ement}...The.test.for.equality.i
9af20 73 20 64 6f 6e 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 s.done.with.@code{equal},.or.wit
9af40 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 20 69 73 20 h.@code{-compare-fn}.if.that.is.
9af60 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 20 20 41 73 20 77 69 74 68 20 40 63 6f 64 65 7b 6d non-@code{nil}...As.with.@code{m
9af80 65 6d 62 65 72 7d 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 61 63 74 75 ember},.the.return.value.is.actu
9afa0 61 6c 6c 79 20 74 68 65 20 74 61 69 6c 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 6f 73 ally.the.tail.of.@var{list}.whos
9afc0 65 20 63 61 72 20 69 73 20 40 76 61 72 7b 65 6c 65 6d 65 6e 74 7d 2e 0a 0a 41 6c 69 61 73 3a 20 e.car.is.@var{element}...Alias:.
9afe0 40 63 6f 64 65 7b 2d 63 6f 6e 74 61 69 6e 73 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 @code{-contains-p}...@example.@g
9b000 72 6f 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 31 29 0a 20 20 20 roup.(-contains?.'(1.2.3).1)....
9b020 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .@result{}.(1.2.3).@end.group.@g
9b040 72 6f 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 0a 20 20 20 roup.(-contains?.'(1.2.3).2)....
9b060 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .@result{}.(2.3).@end.group.@gro
9b080 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 40 up.(-contains?.'(1.2.3).4).....@
9b0a0 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d result{}.().@end.group.@end.exam
9b0c0 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d 70 72 65 66 ple.@end.defun..@anchor{-is-pref
9b0e0 69 78 3f 7d 0a 40 64 65 66 75 6e 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 ix?}.@defun.-is-prefix?.(prefix.
9b100 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 list).Return.non-@code{nil}.if.@
9b120 76 61 72 7b 70 72 65 66 69 78 7d 20 69 73 20 61 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b var{prefix}.is.a.prefix.of.@var{
9b140 6c 69 73 74 7d 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 70 72 65 66 69 78 2d list}...Alias:.@code{-is-prefix-
9b160 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 66 69 78 p}...@example.@group.(-is-prefix
9b180 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 ?.'(1.2.3).'(1.2.3.4.5)).....@re
9b1a0 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d sult{}.t.@end.group.@group.(-is-
9b1c0 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 29 29 0a 20 prefix?.'(1.2.3.4.5).'(1.2.3))..
9b1e0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ...@result{}.nil.@end.group.@gro
9b200 75 70 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 33 29 20 27 28 31 20 32 20 33 20 34 up.(-is-prefix?.'(1.3).'(1.2.3.4
9b220 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 .5)).....@result{}.nil.@end.grou
9b240 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
9b260 6f 72 7b 2d 69 73 2d 73 75 66 66 69 78 3f 7d 0a 40 64 65 66 75 6e 20 2d 69 73 2d 73 75 66 66 69 or{-is-suffix?}.@defun.-is-suffi
9b280 78 3f 20 28 73 75 66 66 69 78 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f 64 x?.(suffix.list).Return.non-@cod
9b2a0 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 73 75 66 66 69 78 7d 20 69 73 20 61 20 73 75 66 66 e{nil}.if.@var{suffix}.is.a.suff
9b2c0 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b ix.of.@var{list}...Alias:.@code{
9b2e0 2d 69 73 2d 73 75 66 66 69 78 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a -is-suffix-p}...@example.@group.
9b300 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 (-is-suffix?.'(3.4.5).'(1.2.3.4.
9b320 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 5)).....@result{}.t.@end.group.@
9b340 67 72 6f 75 70 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 group.(-is-suffix?.'(1.2.3.4.5).
9b360 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 '(3.4.5)).....@result{}.nil.@end
9b380 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 .group.@group.(-is-suffix?.'(3.5
9b3a0 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 ).'(1.2.3.4.5)).....@result{}.ni
9b3c0 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 l.@end.group.@end.example.@end.d
9b3e0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d 69 6e 66 69 78 3f 7d 0a 40 64 65 66 75 6e efun..@anchor{-is-infix?}.@defun
9b400 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 .-is-infix?.(infix.list).Return.
9b420 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 69 6e 66 69 78 7d 20 69 73 non-@code{nil}.if.@var{infix}.is
9b440 20 69 6e 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 69 73 20 6f 70 65 72 .infix.of.@var{list}...This.oper
9b460 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 40 76 61 72 7b 6f 7d 28 6e 5e 32 29 20 74 69 6d 65 0a ation.runs.in.@var{o}(n^2).time.
9b480 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 69 6e 66 69 78 2d 70 7d 0a 0a 40 65 78 61 .Alias:.@code{-is-infix-p}..@exa
9b4a0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 31 20 32 20 33 29 mple.@group.(-is-infix?.'(1.2.3)
9b4c0 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 .'(1.2.3.4.5)).....@result{}.t.@
9b4e0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 32 end.group.@group.(-is-infix?.'(2
9b500 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .3.4).'(1.2.3.4.5)).....@result{
9b520 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 69 78 }.t.@end.group.@group.(-is-infix
9b540 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 ?.'(3.4.5).'(1.2.3.4.5)).....@re
9b560 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 sult{}.t.@end.group.@end.example
9b580 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 73 2d 70 61 69 72 3f .@end.defun..@anchor{-cons-pair?
9b5a0 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a 29 0a 52 65 74 75 72 }.@defun.-cons-pair?.(obj).Retur
9b5c0 6e 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6f 62 6a 7d 20 69 73 n.non-@code{nil}.if.@var{obj}.is
9b5e0 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 63 6f .a.true.cons.pair..That.is,.a.co
9b600 6e 73 20 28 40 76 61 72 7b 61 7d 20 2e 20 40 76 61 72 7b 62 7d 29 20 77 68 65 72 65 20 40 76 61 ns.(@var{a}...@var{b}).where.@va
9b620 72 7b 62 7d 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 r{b}.is.not.a.list...Alias:.@cod
9b640 65 7b 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 e{-cons-pair-p}...@example.@grou
9b660 70 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 29 29 0a 20 20 20 20 40 72 65 p.(-cons-pair?.'(1...2)).....@re
9b680 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e sult{}.t.@end.group.@group.(-con
9b6a0 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 s-pair?.'(1.2)).....@result{}.ni
9b6c0 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f l.@end.group.@group.(-cons-pair?
9b6e0 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 .'(1)).....@result{}.nil.@end.gr
9b700 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f oup.@end.example.@end.defun..@no
9b720 64 65 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 50 61 72 74 69 74 69 de.Partitioning.@section.Partiti
9b740 6f 6e 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 oning..Functions.partitioning.th
9b760 65 20 69 6e 70 75 74 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 e.input.list.into.a.list.of.list
9b780 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 73 s...@anchor{-split-at}.@defun.-s
9b7a0 70 6c 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 40 76 61 72 7b 6c 69 73 74 plit-at.(n.list).Split.@var{list
9b7c0 7d 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 }.into.two.sublists.after.the.Nt
9b7e0 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 h.element..The.result.is.a.list.
9b800 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 40 76 61 72 7b 74 61 6b 65 7d 20 40 76 61 72 of.two.elements.(@var{take}.@var
9b820 7b 64 72 6f 70 7d 29 20 77 68 65 72 65 20 40 76 61 72 7b 74 61 6b 65 7d 20 69 73 20 61 0a 6e 65 {drop}).where.@var{take}.is.a.ne
9b840 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 65 6c 65 6d w.list.of.the.first.@var{n}.elem
9b860 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 40 76 61 72 7b 64 72 6f ents.of.@var{list},.and.@var{dro
9b880 70 7d 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 p}.is.the.remaining.elements.of.
9b8a0 40 76 61 72 7b 6c 69 73 74 7d 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 40 76 61 72 7b 74 @var{list}.(not.a.copy)...@var{t
9b8c0 61 6b 65 7d 20 61 6e 64 20 40 76 61 72 7b 64 72 6f 70 7d 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 ake}.and.@var{drop}.are.like.the
9b8e0 20 72 65 73 75 6c 74 73 20 6f 66 20 40 63 6f 64 65 7b 2d 74 61 6b 65 7d 20 28 40 70 78 72 65 66 .results.of.@code{-take}.(@pxref
9b900 7b 2d 74 61 6b 65 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 64 72 6f 70 7d 20 28 40 70 78 72 65 {-take}).and.@code{-drop}.(@pxre
9b920 66 7b 2d 64 72 6f 70 7d 29 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 f{-drop}),.respectively,.but.the
9b940 20 73 70 6c 69 74 0a 69 73 20 64 6f 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 .split.is.done.in.a.single.list.
9b960 74 72 61 76 65 72 73 61 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 traversal...@example.@group.(-sp
9b980 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 lit-at.3.'(1.2.3.4.5)).....@resu
9b9a0 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.((1.2.3).(4.5)).@end.group.
9b9c0 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 @group.(-split-at.17.'(1.2.3.4.5
9b9e0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 20 35 29 20 6e 69 )).....@result{}.((1.2.3.4.5).ni
9ba00 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 61 74 20 l).@end.group.@group.(-split-at.
9ba20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 0.'(1.2.3.4.5)).....@result{}.(n
9ba40 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 il.(1.2.3.4.5)).@end.group.@end.
9ba60 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c example.@end.defun..@anchor{-spl
9ba80 69 74 2d 77 69 74 68 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 it-with}.@defun.-split-with.(pre
9baa0 64 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 61 20 d.list).Split.@var{list}.into.a.
9bac0 70 72 65 66 69 78 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 2c 20 61 6e prefix.satisfying.@var{pred},.an
9bae0 64 20 74 68 65 20 72 65 73 74 2e 0a 54 68 65 20 66 69 72 73 74 20 73 75 62 6c 69 73 74 20 69 73 d.the.rest..The.first.sublist.is
9bb00 20 74 68 65 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 73 .the.prefix.of.@var{list}.with.s
9bb20 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 0a 73 61 74 69 73 66 79 69 6e 67 20 40 76 uccessive.elements.satisfying.@v
9bb40 61 72 7b 70 72 65 64 7d 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 73 75 62 6c 69 73 74 ar{pred},.and.the.second.sublist
9bb60 20 69 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 0a 74 68 61 74 20 .is.the.remaining.elements.that.
9bb80 64 6f 20 6e 6f 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 do.not...The.result.is.like.perf
9bba0 6f 72 6d 69 6e 67 0a 0a 20 20 28 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 40 76 61 72 7b 70 72 65 orming....((-take-while.@var{pre
9bbc0 64 7d 20 40 76 61 72 7b 6c 69 73 74 7d 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 40 76 61 72 d}.@var{list}).(-drop-while.@var
9bbe0 7b 70 72 65 64 7d 20 40 76 61 72 7b 6c 69 73 74 7d 29 29 0a 0a 62 75 74 20 69 6e 20 6e 6f 20 6d {pred}.@var{list}))..but.in.no.m
9bc00 6f 72 65 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 40 ore.than.a.single.pass.through.@
9bc20 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 var{list}...@example.@group.(-sp
9bc40 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 lit-with.'even?.'(1.2.3.4)).....
9bc60 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 6e 64 20 67 @result{}.(nil.(1.2.3.4)).@end.g
9bc80 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 roup.@group.(-split-with.'even?.
9bca0 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 34 29 '(2.4.5.6)).....@result{}.((2.4)
9bcc0 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c .(5.6)).@end.group.@group.(--spl
9bce0 69 74 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 it-with.(<.it.4).'(1.2.3.4.3.2.1
9bd00 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 33 20 32 )).....@result{}.((1.2.3).(4.3.2
9bd20 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .1)).@end.group.@end.example.@en
9bd40 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 6f 6e 7d 0a 40 64 65 66 d.defun..@anchor{-split-on}.@def
9bd60 6d 61 63 20 2d 73 70 6c 69 74 2d 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 mac.-split-on.(item.list).Split.
9bd80 74 68 65 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 69 74 the.@var{list}.each.time.@var{it
9bda0 65 6d 7d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 70 61 72 em}.is.found...Unlike.@code{-par
9bdc0 74 69 74 69 6f 6e 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 tition-by}.(@pxref{-partition-by
9bde0 7d 29 2c 20 74 68 65 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 73 20 64 69 73 63 61 72 64 65 64 20 }),.the.@var{item}.is.discarded.
9be00 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 from.the.results..Empty.lists.ar
9be20 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a e.also.removed.from.the.result..
9be40 0a 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 40 63 6f 64 65 7b 65 71 75 .Comparison.is.done.by.@code{equ
9be60 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 73 70 6c 69 74 2d 77 68 65 6e al}...See.also.@code{-split-when
9be80 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 74 2d 77 68 65 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c }.(@pxref{-split-when})..@exampl
9bea0 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c e.@group.(-split-on.'|.'(Nil.|.L
9bec0 65 61 66 20 61 20 7c 20 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 40 72 65 73 eaf.a.|.Node.[Tree.a])).....@res
9bee0 75 6c 74 7b 7d 20 28 28 4e 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 ult{}.((Nil).(Leaf.a).(Node.[Tre
9bf00 65 20 61 5d 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 e.a])).@end.group.@group.(-split
9bf20 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 -on.:endgroup.'("a"."b".:endgrou
9bf40 70 20 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 40 72 p."c".:endgroup."d"."e")).....@r
9bf60 65 73 75 6c 74 7b 7d 20 28 28 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 esult{}.(("a"."b").("c").("d"."e
9bf80 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 6f 6e ")).@end.group.@group.(-split-on
9bfa0 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 3a .:endgroup.'("a"."b".:endgroup.:
9bfc0 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d endgroup."d"."e")).....@result{}
9bfe0 20 28 28 22 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 .(("a"."b").("d"."e")).@end.grou
9c000 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 p.@end.example.@end.defmac..@anc
9c020 68 6f 72 7b 2d 73 70 6c 69 74 2d 77 68 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 77 hor{-split-when}.@defun.-split-w
9c040 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 74 68 65 20 40 76 61 72 7b 6c 69 73 hen.(fn.list).Split.the.@var{lis
9c060 74 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 40 76 61 72 7b 66 6e t}.on.each.element.where.@var{fn
9c080 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 55 6e 6c 69 6b }.returns.non-@code{nil}...Unlik
9c0a0 65 20 40 63 6f 64 65 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d e.@code{-partition-by}.(@pxref{-
9c0c0 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 20 65 6c partition-by}),.the."matched".el
9c0e0 65 6d 65 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 ement.is.discarded.from.the.resu
9c100 6c 74 73 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 lts...Empty.lists.are.also.remov
9c120 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 ed.from.the.result...This.functi
9c140 6f 6e 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 on.can.be.thought.of.as.a.genera
9c160 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 40 63 6f 64 65 7b 73 70 6c 69 74 2d 73 74 72 69 6e 67 7d 2e lization.of.@code{split-string}.
9c180 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 ..@example.@group.(-split-when.'
9c1a0 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c even?.'(1.2.3.4.5.6)).....@resul
9c1c0 74 7b 7d 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 t{}.((1).(3).(5)).@end.group.@gr
9c1e0 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 oup.(-split-when.'even?.'(1.2.3.
9c200 34 20 36 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 28 33 29 4.6.8.9)).....@result{}.((1).(3)
9c220 20 28 39 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 74 .(9)).@end.group.@group.(--split
9c240 2d 77 68 65 6e 20 28 6d 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 -when.(memq.it.'(&optional.&rest
9c260 29 29 20 27 28 61 20 62 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 )).'(a.b.&optional.c.d.&rest.arg
9c280 73 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 s)).....@result{}.((a.b).(c.d).(
9c2a0 61 72 67 73 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 args)).@end.group.@end.example.@
9c2c0 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 70 61 72 61 74 65 7d 0a 40 64 end.defun..@anchor{-separate}.@d
9c2e0 65 66 75 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 53 70 6c 69 74 efun.-separate.(pred.list).Split
9c300 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 62 61 .@var{list}.into.two.sublists.ba
9c320 73 65 64 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 40 76 61 sed.on.whether.items.satisfy.@va
9c340 72 7b 70 72 65 64 7d 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 r{pred}..The.result.is.like.perf
9c360 6f 72 6d 69 6e 67 0a 0a 20 20 28 28 2d 66 69 6c 74 65 72 20 40 76 61 72 7b 70 72 65 64 7d 20 40 orming....((-filter.@var{pred}.@
9c380 76 61 72 7b 6c 69 73 74 7d 29 20 28 2d 72 65 6d 6f 76 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 var{list}).(-remove.@var{pred}.@
9c3a0 76 61 72 7b 6c 69 73 74 7d 29 29 0a 0a 62 75 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 var{list}))..but.in.a.single.pas
9c3c0 73 20 74 68 72 6f 75 67 68 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a s.through.@var{list}...@example.
9c3e0 40 67 72 6f 75 70 0a 28 2d 73 65 70 61 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 @group.(-separate.(lambda.(num).
9c400 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 (=.0.(%.num.2))).'(1.2.3.4.5.6.7
9c420 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 )).....@result{}.((2.4.6).(1.3.5
9c440 20 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 65 70 61 72 61 .7)).@end.group.@group.(--separa
9c460 74 65 20 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 39 20 33 20 32 20 31 20 34 20 36 29 te.(<.it.5).'(3.7.5.9.3.2.1.4.6)
9c480 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 20 ).....@result{}.((3.3.2.1.4).(7.
9c4a0 35 20 39 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 70 61 5.9.6)).@end.group.@group.(-sepa
9c4c0 72 61 74 65 20 27 63 64 72 20 27 28 28 31 20 32 29 20 28 31 29 20 28 31 20 32 20 33 29 20 28 34 rate.'cdr.'((1.2).(1).(1.2.3).(4
9c4e0 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 28 31 20 32 29 20 28 31 20 32 20 33 ))).....@result{}.(((1.2).(1.2.3
9c500 29 29 20 28 28 31 29 20 28 34 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 )).((1).(4))).@end.group.@end.ex
9c520 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 ample.@end.defun..@anchor{-parti
9c540 74 69 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 tion}.@defun.-partition.(n.list)
9c560 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d .Return.a.new.list.with.the.item
9c580 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 s.in.@var{list}.grouped.into.@va
9c5a0 72 7b 6e 7d 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 49 66 20 74 68 65 72 65 20 61 72 r{n}-sized.sublists..If.there.ar
9c5c0 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c e.not.enough.items.to.make.the.l
9c5e0 61 73 74 20 67 72 6f 75 70 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 ast.group.@var{n}-sized,.those.i
9c600 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 tems.are.discarded...@example.@g
9c620 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 roup.(-partition.2.'(1.2.3.4.5.6
9c640 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 )).....@result{}.((1.2).(3.4).(5
9c660 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 .6)).@end.group.@group.(-partiti
9c680 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 on.2.'(1.2.3.4.5.6.7)).....@resu
9c6a0 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 lt{}.((1.2).(3.4).(5.6)).@end.gr
9c6c0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 33 20 27 28 31 20 32 20 33 oup.@group.(-partition.3.'(1.2.3
9c6e0 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 .4.5.6.7)).....@result{}.((1.2.3
9c700 29 20 28 34 20 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 ).(4.5.6)).@end.group.@end.examp
9c720 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f le.@end.defun..@anchor{-partitio
9c740 6e 2d 61 6c 6c 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 n-all}.@defun.-partition-all.(n.
9c760 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 list).Return.a.new.list.with.the
9c780 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 .items.in.@var{list}.grouped.int
9c7a0 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 20 6c 61 o.@var{n}-sized.sublists..The.la
9c7c0 73 74 20 67 72 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 40 st.group.may.contain.less.than.@
9c7e0 76 61 72 7b 6e 7d 20 69 74 65 6d 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 var{n}.items...@example.@group.(
9c800 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 -partition-all.2.'(1.2.3.4.5.6))
9c820 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 .....@result{}.((1.2).(3.4).(5.6
9c840 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e )).@end.group.@group.(-partition
9c860 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 -all.2.'(1.2.3.4.5.6.7)).....@re
9c880 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 40 sult{}.((1.2).(3.4).(5.6).(7)).@
9c8a0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c end.group.@group.(-partition-all
9c8c0 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .3.'(1.2.3.4.5.6.7)).....@result
9c8e0 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 20 28 37 29 29 0a 40 65 6e 64 20 67 72 {}.((1.2.3).(4.5.6).(7)).@end.gr
9c900 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
9c920 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7d 0a 40 64 65 66 75 6e chor{-partition-in-steps}.@defun
9c940 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 .-partition-in-steps.(n.step.lis
9c960 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 73 75 62 t).Partition.@var{list}.into.sub
9c980 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 68 20 40 76 61 72 7b 6e 7d 20 74 68 61 74 20 61 72 65 lists.of.length.@var{n}.that.are
9c9a0 20 40 76 61 72 7b 73 74 65 70 7d 20 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 4c 69 6b 65 20 40 63 .@var{step}.items.apart..Like.@c
9c9c0 6f 64 65 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 7d 20 28 40 70 ode{-partition-all-in-steps}.(@p
9c9e0 78 72 65 66 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 7d 29 2c 20 xref{-partition-all-in-steps}),.
9ca00 62 75 74 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d but.if.there.are.not.enough.item
9ca20 73 0a 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 40 76 61 72 7b 6e 7d s.to.make.the.last.group.@var{n}
9ca40 2d 73 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 -sized,.those.items.are.discarde
9ca60 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d d...@example.@group.(-partition-
9ca80 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 in-steps.2.1.'(1.2.3.4)).....@re
9caa0 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 40 65 6e 64 20 sult{}.((1.2).(2.3).(3.4)).@end.
9cac0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 group.@group.(-partition-in-step
9cae0 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 s.3.2.'(1.2.3.4)).....@result{}.
9cb00 28 28 31 20 32 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 ((1.2.3)).@end.group.@group.(-pa
9cb20 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 rtition-in-steps.3.2.'(1.2.3.4.5
9cb40 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 )).....@result{}.((1.2.3).(3.4.5
9cb60 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 )).@end.group.@end.example.@end.
9cb80 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e defun..@anchor{-partition-all-in
9cba0 2d 73 74 65 70 73 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e -steps}.@defun.-partition-all-in
9cbc0 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 40 -steps.(n.step.list).Partition.@
9cbe0 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 var{list}.into.sublists.of.lengt
9cc00 68 20 40 76 61 72 7b 6e 7d 20 74 68 61 74 20 61 72 65 20 40 76 61 72 7b 73 74 65 70 7d 20 69 74 h.@var{n}.that.are.@var{step}.it
9cc20 65 6d 73 20 61 70 61 72 74 2e 0a 41 64 6a 61 63 65 6e 74 20 67 72 6f 75 70 73 20 6d 61 79 20 6f ems.apart..Adjacent.groups.may.o
9cc40 76 65 72 6c 61 70 20 69 66 20 40 76 61 72 7b 6e 7d 20 65 78 63 65 65 64 73 20 74 68 65 20 40 76 verlap.if.@var{n}.exceeds.the.@v
9cc60 61 72 7b 73 74 65 70 7d 20 73 74 72 69 64 65 2e 0a 54 72 61 69 6c 69 6e 67 20 67 72 6f 75 70 73 ar{step}.stride..Trailing.groups
9cc80 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 40 76 61 72 7b 6e 7d 20 69 .may.contain.less.than.@var{n}.i
9cca0 74 65 6d 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 tems...@example.@group.(-partiti
9ccc0 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a on-all-in-steps.2.1.'(1.2.3.4)).
9cce0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 ....@result{}.((1.2).(2.3).(3.4)
9cd00 20 28 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 .(4)).@end.group.@group.(-partit
9cd20 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 ion-all-in-steps.3.2.'(1.2.3.4))
9cd40 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 34 29 29 0a 40 .....@result{}.((1.2.3).(3.4)).@
9cd60 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c end.group.@group.(-partition-all
9cd80 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 -in-steps.3.2.'(1.2.3.4.5)).....
9cda0 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 20 28 35 29 29 0a @result{}.((1.2.3).(3.4.5).(5)).
9cdc0 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
9cde0 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 0a 40 64 65 66 75 un..@anchor{-partition-by}.@defu
9ce00 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 n.-partition-by.(fn.list).Apply.
9ce20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 @var{fn}.to.each.item.in.@var{li
9ce40 73 74 7d 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 st},.splitting.it.each.time.@var
9ce60 7b 66 6e 7d 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 76 61 6c 75 65 2e 0a 0a 40 65 78 61 6d {fn}.returns.a.new.value...@exam
9ce80 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f ple.@group.(-partition-by.'even?
9cea0 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 .()).....@result{}.().@end.group
9cec0 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 .@group.(-partition-by.'even?.'(
9cee0 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 1.1.2.2.2.3.4.6.8)).....@result{
9cf00 7d 20 28 28 31 20 31 29 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 40 65 }.((1.1).(2.2.2).(3).(4.6.8)).@e
9cf20 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 nd.group.@group.(--partition-by.
9cf40 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 (<.it.3).'(1.2.3.4.3.2.1)).....@
9cf60 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 31 29 29 0a 40 result{}.((1.2).(3.4.3).(2.1)).@
9cf80 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
9cfa0 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7d n..@anchor{-partition-by-header}
9cfc0 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e .@defun.-partition-by-header.(fn
9cfe0 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 66 69 72 .list).Apply.@var{fn}.to.the.fir
9d000 73 74 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 20 54 68 61 74 20 69 73 20 74 st.item.in.@var{list}..That.is.t
9d020 68 65 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 he.header.value..Apply.@var{fn}.
9d040 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 70 6c 69 to.each.item.in.@var{list},.spli
9d060 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 66 6e 7d 0a 72 65 74 75 tting.it.each.time.@var{fn}.retu
9d080 72 6e 73 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 rns.the.header.value,.but.only.a
9d0a0 66 74 65 72 20 73 65 65 69 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 fter.seeing.at.least.one.other.v
9d0c0 61 6c 75 65 20 28 74 68 65 20 62 6f 64 79 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 alue.(the.body)...@example.@grou
9d0e0 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3d 20 69 74 20 31 p.(--partition-by-header.(=.it.1
9d100 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 ).'(1.2.3.1.2.1.2.3.4)).....@res
9d120 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 20 34 29 29 0a ult{}.((1.2.3).(1.2).(1.2.3.4)).
9d140 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 @end.group.@group.(--partition-b
9d160 79 2d 68 65 61 64 65 72 20 28 3e 20 69 74 20 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 31 20 y-header.(>.it.0).'(1.2.0.1.0.1.
9d180 32 20 33 20 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 30 29 20 28 2.3.0)).....@result{}.((1.2.0).(
9d1a0 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 1.0).(1.2.3.0)).@end.group.@grou
9d1c0 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e 3f 20 27 p.(-partition-by-header.'even?.'
9d1e0 28 32 20 31 20 31 20 31 20 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 (2.1.1.1.4.1.3.5.6.6.1)).....@re
9d200 73 75 6c 74 7b 7d 20 28 28 32 20 31 20 31 20 31 29 20 28 34 20 31 20 33 20 35 29 20 28 36 20 36 sult{}.((2.1.1.1).(4.1.3.5).(6.6
9d220 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .1)).@end.group.@end.example.@en
9d240 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 d.defun..@anchor{-partition-afte
9d260 72 2d 70 72 65 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d r-pred}.@defun.-partition-after-
9d280 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 40 76 61 72 7b pred.(pred.list).Partition.@var{
9d2a0 6c 69 73 74 7d 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 list}.after.each.element.for.whi
9d2c0 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b ch.@var{pred}.returns.non-@code{
9d2e0 6e 69 6c 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 nil}...This.function's.anaphoric
9d300 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 70 61 72 74 69 74 69 6f .counterpart.is.@code{--partitio
9d320 6e 2d 61 66 74 65 72 2d 70 72 65 64 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a n-after-pred}...@example.@group.
9d340 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e (-partition-after-pred.#'boolean
9d360 70 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 p.()).....@result{}.().@end.grou
9d380 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 p.@group.(-partition-after-pred.
9d3a0 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 74 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d #'booleanp.'(t.t)).....@result{}
9d3c0 20 28 28 74 29 20 28 74 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 .((t).(t)).@end.group.@group.(-p
9d3e0 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 artition-after-pred.#'booleanp.'
9d400 28 30 20 30 20 74 20 74 20 30 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 (0.0.t.t.0.t)).....@result{}.((0
9d420 20 30 20 74 29 20 28 74 29 20 28 30 20 74 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 .0.t).(t).(0.t)).@end.group.@end
9d440 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 .example.@end.defun..@anchor{-pa
9d460 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 rtition-before-pred}.@defun.-par
9d480 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 50 tition-before-pred.(pred.list).P
9d4a0 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 artition.directly.before.each.ti
9d4c0 6d 65 20 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d me.@var{pred}.is.true.on.an.elem
9d4e0 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 ent.of.@var{list}...@example.@gr
9d500 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f oup.(-partition-before-pred.#'bo
9d520 6f 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 oleanp.()).....@result{}.().@end
9d540 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 .group.@group.(-partition-before
9d560 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 74 29 29 0a 20 20 20 20 40 72 65 -pred.#'booleanp.'(0.t)).....@re
9d580 73 75 6c 74 7b 7d 20 28 28 30 29 20 28 74 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f sult{}.((0).(t)).@end.group.@gro
9d5a0 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f up.(-partition-before-pred.#'boo
9d5c0 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 30 20 74 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c leanp.'(0.0.t.0.t.t)).....@resul
9d5e0 74 7b 7d 20 28 28 30 20 30 29 20 28 74 20 30 29 20 28 74 29 20 28 74 29 29 0a 40 65 6e 64 20 67 t{}.((0.0).(t.0).(t).(t)).@end.g
9d600 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
9d620 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7d 0a 40 64 nchor{-partition-before-item}.@d
9d640 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 efun.-partition-before-item.(ite
9d660 6d 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 m.list).Partition.directly.befor
9d680 65 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 69 74 65 6d 7d 20 61 70 70 65 61 72 73 20 69 e.each.time.@var{item}.appears.i
9d6a0 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 n.@var{list}...@example.@group.(
9d6c0 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 -partition-before-item.3.())....
9d6e0 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .@result{}.().@end.group.@group.
9d700 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a (-partition-before-item.3.'(1)).
9d720 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ....@result{}.((1)).@end.group.@
9d740 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 group.(-partition-before-item.3.
9d760 27 28 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 33 29 29 0a 40 65 6e 64 20 67 '(3)).....@result{}.((3)).@end.g
9d780 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
9d7a0 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 7d 0a 40 64 65 nchor{-partition-after-item}.@de
9d7c0 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 fun.-partition-after-item.(item.
9d7e0 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 list).Partition.directly.after.e
9d800 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 69 74 65 6d 7d 20 61 70 70 65 61 72 73 20 69 6e 20 40 ach.time.@var{item}.appears.in.@
9d820 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 var{list}...@example.@group.(-pa
9d840 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 40 72 65 rtition-after-item.3.()).....@re
9d860 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 sult{}.().@end.group.@group.(-pa
9d880 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 40 rtition-after-item.3.'(1)).....@
9d8a0 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 result{}.((1)).@end.group.@group
9d8c0 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a .(-partition-after-item.3.'(3)).
9d8e0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ....@result{}.((3)).@end.group.@
9d900 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9d920 2d 67 72 6f 75 70 2d 62 79 7d 0a 40 64 65 66 75 6e 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 -group-by}.@defun.-group-by.(fn.
9d940 6c 69 73 74 29 0a 53 65 70 61 72 61 74 65 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 61 list).Separate.@var{list}.into.a
9d960 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 40 76 61 72 7b 66 6e 7d 20 n.alist.whose.keys.are.@var{fn}.
9d980 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b applied.to.the.elements.of.@var{
9d9a0 6c 69 73 74 7d 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 40 63 6f list}...Keys.are.compared.by.@co
9d9c0 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 de{equal}...@example.@group.(-gr
9d9e0 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 oup-by.'even?.()).....@result{}.
9da00 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 67 72 6f 75 70 2d 62 79 20 ().@end.group.@group.(-group-by.
9da20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 'even?.'(1.1.2.2.2.3.4.6.8))....
9da40 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 20 31 20 31 20 33 29 20 28 74 20 32 20 32 20 32 .@result{}.((nil.1.1.3).(t.2.2.2
9da60 20 34 20 36 20 38 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 67 72 .4.6.8)).@end.group.@group.(--gr
9da80 6f 75 70 2d 62 79 20 28 63 61 72 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 oup-by.(car.(split-string.it."/"
9daa0 29 29 20 27 28 22 61 2f 62 22 20 22 63 2f 64 22 20 22 61 2f 65 22 29 29 0a 20 20 20 20 40 72 65 )).'("a/b"."c/d"."a/e")).....@re
9dac0 73 75 6c 74 7b 7d 20 28 28 22 61 22 20 22 61 2f 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 sult{}.(("a"."a/b"."a/e").("c"."
9dae0 63 2f 64 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 c/d")).@end.group.@end.example.@
9db00 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 49 6e 64 65 78 69 6e 67 0a 40 73 65 63 74 69 end.defun..@node.Indexing.@secti
9db20 6f 6e 20 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e on.Indexing..Functions.retrievin
9db40 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 g.or.sorting.based.on.list.indic
9db60 65 73 20 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 40 61 6e 63 es.and.related.predicates...@anc
9db80 68 6f 72 7b 2d 65 6c 65 6d 2d 69 6e 64 65 78 7d 0a 40 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e hor{-elem-index}.@defun.-elem-in
9dba0 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 dex.(elem.list).Return.the.first
9dbc0 20 69 6e 64 65 78 20 6f 66 20 40 76 61 72 7b 65 6c 65 6d 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 .index.of.@var{elem}.in.@var{lis
9dbe0 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 40 76 t}..That.is,.the.index.within.@v
9dc00 61 72 7b 6c 69 73 74 7d 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 74 68 ar{list}.of.the.first.element.th
9dc20 61 74 20 69 73 0a 40 63 6f 64 65 7b 65 71 75 61 6c 7d 20 74 6f 20 40 76 61 72 7b 65 6c 65 6d 7d at.is.@code{equal}.to.@var{elem}
9dc40 2e 20 20 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 74 68 65 72 65 20 69 73 ...Return.@code{nil}.if.there.is
9dc60 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f .no.such.element...See.also:.@co
9dc80 64 65 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6e 64 2d 69 6e de{-find-index}.(@pxref{-find-in
9dca0 64 65 78 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 dex})...@example.@group.(-elem-i
9dcc0 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ndex.2.'(6.7.8.3.4)).....@result
9dce0 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d {}.nil.@end.group.@group.(-elem-
9dd00 69 6e 64 65 78 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 index."bar".'("foo"."bar"."baz")
9dd20 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ).....@result{}.1.@end.group.@gr
9dd40 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 35 oup.(-elem-index.'(1.2).'((3).(5
9dd60 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a .6).(1.2).nil)).....@result{}.2.
9dd80 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
9dda0 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 un..@anchor{-elem-indices}.@defu
9ddc0 6e 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 52 65 74 75 n.-elem-indices.(elem.list).Retu
9dde0 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 61 74 20 77 68 69 63 68 20 rn.the.list.of.indices.at.which.
9de00 40 76 61 72 7b 65 6c 65 6d 7d 20 61 70 70 65 61 72 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d @var{elem}.appears.in.@var{list}
9de20 2e 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c ..That.is,.the.indices.of.all.el
9de40 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 40 63 6f 64 65 7b 65 71 75 61 6c ements.of.@var{list}.@code{equal
9de60 7d 20 74 6f 20 40 76 61 72 7b 65 6c 65 6d 7d 2c 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 61 73 63 }.to.@var{elem},.in.the.same.asc
9de80 65 6e 64 69 6e 67 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 40 ending.order.as.they.appear.in.@
9dea0 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 65 6c var{list}...@example.@group.(-el
9dec0 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 33 20 34 20 31 29 29 0a 20 20 20 em-indices.2.'(6.7.8.3.4.1))....
9dee0 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .@result{}.().@end.group.@group.
9df00 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 (-elem-indices."bar".'("foo"."ba
9df20 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e r"."baz")).....@result{}.(1).@en
9df40 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 d.group.@group.(-elem-indices.'(
9df60 31 20 32 29 20 27 28 28 33 29 20 28 31 20 32 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 1.2).'((3).(1.2).(5.6).(1.2).nil
9df80 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(1.3).@end.grou
9dfa0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
9dfc0 6f 72 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 0a 40 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 or{-find-index}.@defun.-find-ind
9dfe0 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 ex.(pred.list).Return.the.index.
9e000 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 of.the.first.item.satisfying.@va
9e020 72 7b 70 72 65 64 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 40 63 r{pred}.in.@var{list}..Return.@c
9e040 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e ode{nil}.if.no.such.item.is.foun
9e060 64 2e 0a 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e d...@var{pred}.is.called.with.on
9e080 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 e.argument,.the.current.list.ele
9e0a0 6d 65 6e 74 2c 20 75 6e 74 69 6c 0a 69 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 ment,.until.it.returns.non-@code
9e0c0 7b 6e 69 6c 7d 2c 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 20 74 68 65 20 73 65 61 72 63 68 {nil},.at.which.point.the.search
9e0e0 20 74 65 72 6d 69 6e 61 74 65 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e .terminates...This.function's.an
9e100 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 66 aphoric.counterpart.is.@code{--f
9e120 69 6e 64 2d 69 6e 64 65 78 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 69 ind-index}...See.also:.@code{-fi
9e140 72 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 72 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 66 69 rst}.(@pxref{-first}),.@code{-fi
9e160 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6e 64 2d 6c 61 73 nd-last-index}.(@pxref{-find-las
9e180 74 2d 69 6e 64 65 78 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 t-index})...@example.@group.(-fi
9e1a0 6e 64 2d 69 6e 64 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 nd-index.#'numberp.'(a.b.c))....
9e1c0 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .@result{}.nil.@end.group.@group
9e1e0 0a 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 30 20 2d 31 .(-find-index.#'natnump.'(1.0.-1
9e200 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 )).....@result{}.0.@end.group.@g
9e220 72 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3e 20 69 74 20 35 29 20 27 28 32 20 roup.(--find-index.(>.it.5).'(2.
9e240 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 4.1.6.3.3.5.8)).....@result{}.3.
9e260 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
9e280 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7d 0a 40 64 un..@anchor{-find-last-index}.@d
9e2a0 65 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 efun.-find-last-index.(pred.list
9e2c0 29 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 20 69 ).Return.the.index.of.the.last.i
9e2e0 74 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 69 6e 20 40 76 61 tem.satisfying.@var{pred}.in.@va
9e300 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 6e 6f r{list}..Return.@code{nil}.if.no
9e320 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 50 72 65 64 69 63 61 74 65 20 .such.item.is.found...Predicate.
9e340 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 @var{pred}.is.called.with.one.ar
9e360 67 75 6d 65 6e 74 20 65 61 63 68 20 74 69 6d 65 2c 20 6e 61 6d 65 6c 79 20 74 68 65 0a 63 75 72 gument.each.time,.namely.the.cur
9e380 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f rent.list.element...This.functio
9e3a0 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f n's.anaphoric.counterpart.is.@co
9e3c0 64 65 7b 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f de{--find-last-index}...See.also
9e3e0 3a 20 40 63 6f 64 65 7b 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 7d 29 2c 20 :.@code{-last}.(@pxref{-last}),.
9e400 40 63 6f 64 65 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6e 64 @code{-find-index}.(@pxref{-find
9e420 2d 69 6e 64 65 78 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e -index})...@example.@group.(-fin
9e440 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 d-last-index.#'numberp.'(a.b.c))
9e460 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.nil.@end.group.@g
9e480 72 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 3e 20 69 74 20 35 29 roup.(--find-last-index.(>.it.5)
9e4a0 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .'(2.7.1.6.3.8.5.2)).....@result
9e4c0 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 6c 61 {}.5.@end.group.@group.(-find-la
9e4e0 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 23 27 73 74 72 69 6e 67 3c 20 27 61 29 st-index.(-partial.#'string<.'a)
9e500 20 27 28 63 20 62 20 61 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 .'(c.b.a)).....@result{}.1.@end.
9e520 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
9e540 61 6e 63 68 6f 72 7b 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 66 69 anchor{-find-indices}.@defun.-fi
9e560 6e 64 2d 69 6e 64 69 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 nd-indices.(pred.list).Return.th
9e580 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 e.list.of.indices.in.@var{list}.
9e5a0 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 2e 0a 0a 45 61 63 68 20 65 6c 65 satisfying.@var{pred}...Each.ele
9e5c0 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 20 74 75 72 6e 20 69 73 20 70 61 ment.of.@var{list}.in.turn.is.pa
9e5e0 73 73 65 64 20 74 6f 20 40 76 61 72 7b 70 72 65 64 7d 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 ssed.to.@var{pred}...If.the.resu
9e600 6c 74 20 69 73 0a 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 74 68 65 20 69 6e 64 65 78 20 lt.is.non-@code{nil},.the.index.
9e620 6f 66 20 74 68 61 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 of.that.element.in.@var{list}.is
9e640 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 0a 72 65 73 75 6c 74 2e 20 20 54 68 65 20 72 65 .included.in.the.result...The.re
9e660 74 75 72 6e 65 64 20 69 6e 64 69 63 65 73 20 61 72 65 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 turned.indices.are.in.ascending.
9e680 6f 72 64 65 72 2c 20 69 2e 65 2e 2c 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 order,.i.e.,.in.the.same.order.a
9e6a0 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 s.they.appear.in.@var{list}...Th
9e6c0 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 is.function's.anaphoric.counterp
9e6e0 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7d 2e 0a 0a 53 art.is.@code{--find-indices}...S
9e700 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 20 28 40 70 78 ee.also:.@code{-find-index}.(@px
9e720 72 65 66 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 29 2c 20 40 63 6f 64 65 7b 2d 65 6c 65 6d 2d 69 ref{-find-index}),.@code{-elem-i
9e740 6e 64 69 63 65 73 7d 20 28 40 70 78 72 65 66 7b 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 7d 29 2e ndices}.(@pxref{-elem-indices}).
9e760 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 ..@example.@group.(-find-indices
9e780 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .#'numberp.'(a.b.c)).....@result
9e7a0 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 {}.().@end.group.@group.(-find-i
9e7c0 6e 64 69 63 65 73 20 23 27 6e 75 6d 62 65 72 70 20 27 28 38 20 31 20 64 20 32 20 62 20 63 20 61 ndices.#'numberp.'(8.1.d.2.b.c.a
9e7e0 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 33 20 37 29 0a 40 65 6e .3)).....@result{}.(0.1.3.7).@en
9e800 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 d.group.@group.(--find-indices.(
9e820 3e 20 69 74 20 35 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 >.it.5).'(2.4.1.6.3.3.5.8)).....
9e840 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 @result{}.(3.7).@end.group.@end.
9e860 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 67 72 61 example.@end.defun..@anchor{-gra
9e880 64 65 2d 75 70 7d 0a 40 64 65 66 75 6e 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 61 de-up}.@defun.-grade-up.(compara
9e8a0 74 6f 72 20 6c 69 73 74 29 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 tor.list).Grade.elements.of.@var
9e8c0 7b 6c 69 73 74 7d 20 75 73 69 6e 67 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 72 65 {list}.using.@var{comparator}.re
9e8e0 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f lation..This.yields.a.permutatio
9e900 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 n.vector.such.that.applying.this
9e920 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 6f 72 74 73 .permutation.to.@var{list}.sorts
9e940 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d 70 6c .it.in.ascending.order...@exampl
9e960 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 27 28 33 20 31 20 34 20 e.@group.(-grade-up.#'<.'(3.1.4.
9e980 32 20 31 20 33 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 33 20 30 2.1.3.3)).....@result{}.(1.4.3.0
9e9a0 20 35 20 36 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 .5.6.2).@end.group.@group.(let.(
9e9c0 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 (l.'(3.1.4.2.1.3.3))).(-select-b
9e9e0 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 0a y-indices.(-grade-up.#'<.l).l)).
9ea00 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 40 65 ....@result{}.(1.1.2.3.3.3.4).@e
9ea20 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
9ea40 0a 0a 40 61 6e 63 68 6f 72 7b 2d 67 72 61 64 65 2d 64 6f 77 6e 7d 0a 40 64 65 66 75 6e 20 2d 67 ..@anchor{-grade-down}.@defun.-g
9ea60 72 61 64 65 2d 64 6f 77 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 47 72 61 64 rade-down.(comparator.list).Grad
9ea80 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 75 73 69 6e 67 20 40 e.elements.of.@var{list}.using.@
9eaa0 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 var{comparator}.relation..This.y
9eac0 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 ields.a.permutation.vector.such.
9eae0 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 that.applying.this.permutation.t
9eb00 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 65 73 63 65 6e 64 o.@var{list}.sorts.it.in.descend
9eb20 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 ing.order...@example.@group.(-gr
9eb40 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 0a 20 ade-down.#'<.'(3.1.4.2.1.3.3))..
9eb60 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 0a 40 65 6e ...@result{}.(2.0.5.6.3.1.4).@en
9eb80 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 d.group.@group.(let.((l.'(3.1.4.
9eba0 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2.1.3.3))).(-select-by-indices.(
9ebc0 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 40 72 65 73 75 -grade-down.#'<.l).l)).....@resu
9ebe0 6c 74 7b 7d 20 28 34 20 33 20 33 20 33 20 32 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.(4.3.3.3.2.1.1).@end.group.
9ec00 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 53 @end.example.@end.defun..@node.S
9ec20 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 53 65 74 20 6f 70 65 72 61 et.operations.@section.Set.opera
9ec40 74 69 6f 6e 73 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 tions..Operations.pretending.lis
9ec60 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 6e 69 6f 6e 7d 0a 40 64 ts.are.sets...@anchor{-union}.@d
9ec80 65 66 75 6e 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e efun.-union.(list1.list2).Return
9eca0 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 .a.new.list.of.distinct.elements
9ecc0 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 65 69 74 68 65 72 20 40 76 61 72 7b 6c 69 73 74 31 7d .appearing.in.either.@var{list1}
9ece0 20 6f 72 20 40 76 61 72 7b 6c 69 73 74 32 7d 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 .or.@var{list2}...The.test.for.e
9ed00 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c quality.is.done.with.@code{equal
9ed20 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 },.or.with.@code{-compare-fn}.if
9ed40 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 65 78 61 6d 70 .that.is.non-@code{nil}...@examp
9ed60 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 33 20 34 le.@group.(-union.'(1.2.3).'(3.4
9ed80 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 .5)).....@result{}.(1.2.3.4.5).@
9eda0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 32 end.group.@group.(-union.'(1.2.2
9edc0 20 34 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 34 29 0a 40 65 .4).()).....@result{}.(1.2.4).@e
9ede0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 nd.group.@group.(-union.'(1.1.2.
9ee00 32 29 20 27 28 34 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2).'(4.4.3.2.1)).....@result{}.(
9ee20 31 20 32 20 34 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 1.2.4.3).@end.group.@end.example
9ee40 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 69 66 66 65 72 65 6e 63 65 .@end.defun..@anchor{-difference
9ee60 7d 0a 40 64 65 66 75 6e 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 74 31 20 6c 69 73 74 }.@defun.-difference.(list1.list
9ee80 32 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 64 69 2).Return.a.new.list.with.the.di
9eea0 73 74 69 6e 63 74 20 6d 65 6d 62 65 72 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 31 7d 20 74 68 stinct.members.of.@var{list1}.th
9eec0 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 32 7d 2e 0a 0a 54 68 65 20 at.are.not.in.@var{list2}...The.
9eee0 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 40 test.for.equality.is.done.with.@
9ef00 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 code{equal},.or.with.@code{-comp
9ef20 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c are-fn}.if.that.is.non-@code{nil
9ef40 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 }...@example.@group.(-difference
9ef60 20 28 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 .().()).....@result{}.().@end.gr
9ef80 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 29 oup.@group.(-difference.'(1.2.3)
9efa0 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 .'(4.5.6)).....@result{}.(1.2.3)
9efc0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 .@end.group.@group.(-difference.
9efe0 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 '(1.2.3.4).'(3.4.5.6)).....@resu
9f000 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 lt{}.(1.2).@end.group.@end.examp
9f020 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 73 65 63 le.@end.defun..@anchor{-intersec
9f040 74 69 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 tion}.@defun.-intersection.(list
9f060 31 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 1.list2).Return.a.new.list.of.di
9f080 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 62 6f 74 stinct.elements.appearing.in.bot
9f0a0 68 20 40 76 61 72 7b 6c 69 73 74 31 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 2e 0a 0a h.@var{list1}.and.@var{list2}...
9f0c0 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 The.test.for.equality.is.done.wi
9f0e0 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d th.@code{equal},.or.with.@code{-
9f100 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 compare-fn}.if.that.is.non-@code
9f120 7b 6e 69 6c 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 {nil}...@example.@group.(-inters
9f140 65 63 74 69 6f 6e 20 28 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 ection.().()).....@result{}.().@
9f160 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 end.group.@group.(-intersection.
9f180 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d '(1.2.3).'(4.5.6)).....@result{}
9f1a0 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 .().@end.group.@group.(-intersec
9f1c0 74 69 6f 6e 20 27 28 31 20 32 20 32 20 33 29 20 27 28 34 20 33 20 33 20 32 29 29 0a 20 20 20 20 tion.'(1.2.2.3).'(4.3.3.2)).....
9f1e0 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 @result{}.(2.3).@end.group.@end.
9f200 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 6f 77 example.@end.defun..@anchor{-pow
9f220 65 72 73 65 74 7d 0a 40 64 65 66 75 6e 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 52 erset}.@defun.-powerset.(list).R
9f240 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 eturn.the.power.set.of.@var{list
9f260 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 6f 77 65 72 73 65 74 20 28 }...@example.@group.(-powerset.(
9f280 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(nil).@end.grou
9f2a0 70 0a 40 67 72 6f 75 70 0a 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 29 29 0a 20 20 20 20 p.@group.(-powerset.'(x.y)).....
9f2c0 40 72 65 73 75 6c 74 7b 7d 20 28 28 78 20 79 29 20 28 78 29 20 28 79 29 20 6e 69 6c 29 0a 40 65 @result{}.((x.y).(x).(y).nil).@e
9f2e0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 nd.group.@group.(-powerset.'(x.y
9f300 20 7a 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 .z)).....@result{}.((x.y.z).(x.y
9f320 29 20 28 78 20 7a 29 20 28 78 29 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 40 ).(x.z).(x).(y.z).(y).(z).nil).@
9f340 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
9f360 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7d 0a 40 64 65 66 75 6e n..@anchor{-permutations}.@defun
9f380 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 .-permutations.(list).Return.the
9f3a0 20 64 69 73 74 69 6e 63 74 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 6c .distinct.permutations.of.@var{l
9f3c0 69 73 74 7d 2e 0a 0a 44 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 ist}...Duplicate.elements.of.@va
9f3e0 72 7b 6c 69 73 74 7d 20 61 72 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 40 63 6f 64 65 7b r{list}.are.determined.by.@code{
9f400 65 71 75 61 6c 7d 2c 20 6f 72 20 62 79 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d equal},.or.by.@code{-compare-fn}
9f420 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 65 78 .if.that.is.non-@code{nil}...@ex
9f440 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 0a ample.@group.(-permutations.()).
9f460 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ....@result{}.(nil).@end.group.@
9f480 67 72 6f 75 70 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 61 20 62 29 29 0a 20 group.(-permutations.'(a.a.b))..
9f4a0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 61 20 61 20 62 29 20 28 61 20 62 20 61 29 20 28 62 ...@result{}.((a.a.b).(a.b.a).(b
9f4c0 20 61 20 61 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 65 72 6d 75 .a.a)).@end.group.@group.(-permu
9f4e0 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 tations.'(a.b.c)).....@result{}.
9f500 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 ((a.b.c).(a.c.b).(b.a.c).(b.c.a)
9f520 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e .(c.a.b).(c.b.a)).@end.group.@en
9f540 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 d.example.@end.defun..@anchor{-d
9f560 69 73 74 69 6e 63 74 7d 0a 40 64 65 66 75 6e 20 2d 64 69 73 74 69 6e 63 74 20 28 6c 69 73 74 29 istinct}.@defun.-distinct.(list)
9f580 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 .Return.a.copy.of.@var{list}.wit
9f5a0 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 72 65 6d 6f 76 65 64 h.all.duplicate.elements.removed
9f5c0 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 ...The.test.for.equality.is.done
9f5e0 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f 64 .with.@code{equal},.or.with.@cod
9f600 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 e{-compare-fn}.if.that.is.non-@c
9f620 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 75 6e 69 71 7d 2e 0a ode{nil}...Alias:.@code{-uniq}..
9f640 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 28 29 29 0a .@example.@group.(-distinct.()).
9f660 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ....@result{}.().@end.group.@gro
9f680 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 20 31 20 32 20 33 20 33 29 29 0a 20 20 20 20 up.(-distinct.'(1.1.2.3.3)).....
9f6a0 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 @result{}.(1.2.3).@end.group.@gr
9f6c0 6f 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 74 29 29 0a 20 20 20 20 40 72 65 oup.(-distinct.'(t.t.t)).....@re
9f6e0 73 75 6c 74 7b 7d 20 28 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 sult{}.(t).@end.group.@end.examp
9f700 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 61 6d 65 2d 69 74 65 le.@end.defun..@anchor{-same-ite
9f720 6d 73 3f 7d 0a 40 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 31 20 ms?}.@defun.-same-items?.(list1.
9f740 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 list2).Return.non-@code{nil}.if.
9f760 40 76 61 72 7b 6c 69 73 74 31 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 68 61 76 65 @var{list1}.and.@var{list2}.have
9f780 20 74 68 65 20 73 61 6d 65 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 .the.same.distinct.elements...Th
9f7a0 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 6c e.order.of.the.elements.in.the.l
9f7c0 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 20 20 54 68 65 0a 6c 69 73 74 73 ists.does.not.matter...The.lists
9f7e0 20 6d 61 79 20 62 65 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 6c 65 6e 67 74 68 73 2c 20 69 2e .may.be.of.different.lengths,.i.
9f800 65 2e 2c 20 63 6f 6e 74 61 69 6e 20 64 75 70 6c 69 63 61 74 65 0a 65 6c 65 6d 65 6e 74 73 2e 20 e.,.contain.duplicate.elements..
9f820 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 .The.test.for.equality.is.done.w
9f840 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 0a 40 63 6f 64 65 7b ith.@code{equal},.or.with.@code{
9f860 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 -compare-fn}.if.that.is.non-@cod
9f880 65 7b 6e 69 6c 7d 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 65 6d e{nil}...Alias:.@code{-same-item
9f8a0 73 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 s-p}...@example.@group.(-same-it
9f8c0 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 ems?.'(1.2.3).'(1.2.3)).....@res
9f8e0 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 ult{}.t.@end.group.@group.(-same
9f900 2d 69 74 65 6d 73 3f 20 27 28 31 20 31 20 32 20 33 29 20 27 28 33 20 33 20 32 20 31 29 29 0a 20 -items?.'(1.1.2.3).'(3.3.2.1))..
9f920 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ...@result{}.t.@end.group.@group
9f940 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 .(-same-items?.'(1.2.3).'(1.2.3.
9f960 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 4)).....@result{}.nil.@end.group
9f980 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 .@end.example.@end.defun..@node.
9f9a0 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 4f Other.list.operations.@section.O
9f9c0 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 6c 69 73 74 ther.list.operations..Other.list
9f9e0 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 .functions.not.fit.to.be.classif
9fa00 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 6f 74 61 74 65 7d ied.elsewhere...@anchor{-rotate}
9fa20 0a 40 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 52 6f 74 61 74 65 20 .@defun.-rotate.(n.list).Rotate.
9fa40 40 76 61 72 7b 6c 69 73 74 7d 20 40 76 61 72 7b 6e 7d 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 @var{list}.@var{n}.places.to.the
9fa60 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 6e 65 67 61 74 .right.(left.if.@var{n}.is.negat
9fa80 69 76 65 29 2e 0a 54 68 65 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 40 76 61 ive)..The.time.complexity.is.@va
9faa0 72 7b 6f 7d 28 6e 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 r{o}(n)...@example.@group.(-rota
9fac0 74 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 te.3.'(1.2.3.4.5.6.7)).....@resu
9fae0 6c 74 7b 7d 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.(5.6.7.1.2.3.4).@end.group.
9fb00 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 @group.(-rotate.-3.'(1.2.3.4.5.6
9fb20 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 20 36 20 37 20 31 20 32 20 .7)).....@result{}.(4.5.6.7.1.2.
9fb40 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 65 20 31 36 3).@end.group.@group.(-rotate.16
9fb60 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .'(1.2.3.4.5.6.7)).....@result{}
9fb80 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 .(6.7.1.2.3.4.5).@end.group.@end
9fba0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f .example.@end.defun..@anchor{-co
9fbc0 6e 73 2a 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a ns*}.@defun.-cons*.(&rest.args).
9fbe0 4d 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 Make.a.new.list.from.the.element
9fc00 73 20 6f 66 20 40 76 61 72 7b 61 72 67 73 7d 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d s.of.@var{args}..The.last.2.elem
9fc20 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 61 72 67 73 7d 20 61 72 65 20 75 73 65 64 20 61 73 20 74 ents.of.@var{args}.are.used.as.t
9fc40 68 65 20 66 69 6e 61 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 he.final.cons.of.the.result,.so.
9fc60 69 66 20 74 68 65 20 66 69 6e 61 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 61 72 67 if.the.final.element.of.@var{arg
9fc80 73 7d 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 s}.is.not.a.list,.the.result.is.
9fca0 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 20 57 69 74 68 20 6e 6f 20 40 76 61 72 7b 61 72 67 a.dotted.list...With.no.@var{arg
9fcc0 73 7d 2c 20 72 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 s},.return.@code{nil}...@example
9fce0 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .@group.(-cons*.1.2).....@result
9fd00 7b 7d 20 28 31 20 2e 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 {}.(1...2).@end.group.@group.(-c
9fd20 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 2e ons*.1.2.3).....@result{}.(1.2..
9fd40 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 29 .3).@end.group.@group.(-cons*.1)
9fd60 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 .....@result{}.1.@end.group.@end
9fd80 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6e .example.@end.defun..@anchor{-sn
9fda0 6f 63 7d 0a 40 64 65 66 75 6e 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 oc}.@defun.-snoc.(list.elem.&res
9fdc0 74 20 65 6c 65 6d 65 6e 74 73 29 0a 41 70 70 65 6e 64 20 40 76 61 72 7b 65 6c 65 6d 7d 20 74 6f t.elements).Append.@var{elem}.to
9fde0 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c .the.end.of.the.list...This.is.l
9fe00 69 6b 65 20 40 63 6f 64 65 7b 63 6f 6e 73 7d 2c 20 62 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e ike.@code{cons},.but.operates.on
9fe20 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 49 66 20 61 6e 79 20 40 76 61 72 7b 65 .the.end.of.list...If.any.@var{e
9fe40 6c 65 6d 65 6e 74 73 7d 20 61 72 65 20 67 69 76 65 6e 2c 20 61 70 70 65 6e 64 20 74 68 65 6d 20 lements}.are.given,.append.them.
9fe60 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 to.the.list.as.well...@example.@
9fe80 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 40 72 65 group.(-snoc.'(1.2.3).4).....@re
9fea0 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f sult{}.(1.2.3.4).@end.group.@gro
9fec0 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 35 20 36 29 0a 20 20 20 20 40 72 up.(-snoc.'(1.2.3).4.5.6).....@r
9fee0 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 esult{}.(1.2.3.4.5.6).@end.group
9ff00 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 .@group.(-snoc.'(1.2.3).'(4.5.6)
9ff20 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a ).....@result{}.(1.2.3.(4.5.6)).
9ff40 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
9ff60 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 70 6f 73 65 7d 0a 40 64 65 66 75 6e 20 2d un..@anchor{-interpose}.@defun.-
9ff80 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 interpose.(sep.list).Return.a.ne
9ffa0 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c w.list.of.all.elements.in.@var{l
9ffc0 69 73 74 7d 20 73 65 70 61 72 61 74 65 64 20 62 79 20 40 76 61 72 7b 73 65 70 7d 2e 0a 0a 40 65 ist}.separated.by.@var{sep}...@e
9ffe0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 29 xample.@group.(-interpose."-".()
a0000 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).....@result{}.().@end.group.@g
a0020 72 6f 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 29 29 0a 20 20 20 roup.(-interpose."-".'("a"))....
a0040 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .@result{}.("a").@end.group.@gro
a0060 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 up.(-interpose."-".'("a"."b"."c"
a0080 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d )).....@result{}.("a"."-"."b"."-
a00a0 22 20 22 63 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 "."c").@end.group.@end.example.@
a00c0 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 6c 65 61 76 65 7d 0a end.defun..@anchor{-interleave}.
a00e0 40 64 65 66 75 6e 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 @defun.-interleave.(&rest.lists)
a0100 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 .Return.a.new.list.of.the.first.
a0120 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 63 6f item.in.each.list,.then.the.seco
a0140 6e 64 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 nd.etc...@example.@group.(-inter
a0160 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 40 72 65 leave.'(1.2).'("a"."b")).....@re
a0180 73 75 6c 74 7b 7d 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a sult{}.(1."a".2."b").@end.group.
a01a0 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 @group.(-interleave.'(1.2).'("a"
a01c0 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 ."b").'("A"."B")).....@result{}.
a01e0 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 (1."a"."A".2."b"."B").@end.group
a0200 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 20 33 29 20 27 28 .@group.(-interleave.'(1.2.3).'(
a0220 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 22 20 32 "a"."b")).....@result{}.(1."a".2
a0240 20 22 62 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 ."b").@end.group.@end.example.@e
a0260 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6f 74 61 7d 0a 40 64 65 66 75 6e 20 nd.defun..@anchor{-iota}.@defun.
a0280 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 -iota.(count.&optional.start.ste
a02a0 70 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 40 76 61 72 p).Return.a.list.containing.@var
a02c0 7b 63 6f 75 6e 74 7d 20 6e 75 6d 62 65 72 73 2e 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 40 76 61 {count}.numbers..Starts.from.@va
a02e0 72 7b 73 74 61 72 74 7d 20 61 6e 64 20 61 64 64 73 20 40 76 61 72 7b 73 74 65 70 7d 20 65 61 63 r{start}.and.adds.@var{step}.eac
a0300 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 40 76 61 72 7b 73 74 61 72 74 7d h.time...The.default.@var{start}
a0320 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 40 76 61 72 7b 73 74 65 70 7d .is.zero,.the.default.@var{step}
a0340 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 74 73 20 6e .is.1..This.function.takes.its.n
a0360 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 69 6d 69 ame.from.the.corresponding.primi
a0380 74 69 76 65 20 69 6e 0a 74 68 65 20 40 76 61 72 7b 61 70 6c 7d 20 6c 61 6e 67 75 61 67 65 2e 0a tive.in.the.@var{apl}.language..
a03a0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 36 29 0a 20 20 20 20 40 .@example.@group.(-iota.6).....@
a03c0 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 result{}.(0.1.2.3.4.5).@end.grou
a03e0 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 29 0a 20 20 20 20 40 72 p.@group.(-iota.4.2.5.-2).....@r
a0400 65 73 75 6c 74 7b 7d 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e 35 20 2d 33 2e 35 29 0a 40 65 6e 64 esult{}.(2.5.0.5.-1.5.-3.5).@end
a0420 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 2d 31 29 0a 20 20 20 20 40 65 72 .group.@group.(-iota.-1).....@er
a0440 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e 75 ror{}.Wrong.type.argument:.natnu
a0460 6d 70 2c 20 2d 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 mp,.-1.@end.group.@end.example.@
a0480 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d 77 69 74 68 7d 0a 40 64 end.defun..@anchor{-zip-with}.@d
a04a0 65 66 75 6e 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a efun.-zip-with.(fn.list1.list2).
a04c0 5a 69 70 20 40 76 61 72 7b 6c 69 73 74 31 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 Zip.@var{list1}.and.@var{list2}.
a04e0 69 6e 74 6f 20 61 20 6e 65 77 20 6c 69 73 74 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 into.a.new.list.using.the.functi
a0500 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 70 70 6c 79 20 40 76 61 72 on.@var{fn}..That.is,.apply.@var
a0520 7b 66 6e 7d 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 {fn}.pairwise.taking.as.first.ar
a0540 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b gument.the.next.element.of.@var{
a0560 6c 69 73 74 31 7d 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 list1}.and.as.second.argument.th
a0580 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 32 7d 0a 61 74 e.next.element.of.@var{list2}.at
a05a0 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 .the.corresponding.position...Th
a05c0 65 20 72 65 73 75 6c 74 20 69 73 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 0a 73 68 6f 72 74 e.result.is.as.long.as.the.short
a05e0 65 72 20 6c 69 73 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f er.list...This.function's.anapho
a0600 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 7a 69 70 2d 77 ric.counterpart.is.@code{--zip-w
a0620 69 74 68 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 7a 69 70 73 2c 20 73 65 65 20 61 6c 73 6f 20 ith}...For.other.zips,.see.also.
a0640 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c @code{-zip-lists}.(@pxref{-zip-l
a0660 69 73 74 73 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 20 28 40 70 78 ists}).and.@code{-zip-fill}.(@px
a0680 72 65 66 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 ref{-zip-fill})...@example.@grou
a06a0 70 0a 28 2d 7a 69 70 2d 77 69 74 68 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 p.(-zip-with.#'+.'(1.2.3.4).'(5.
a06c0 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 38 20 31 30 29 0a 40 65 6e 6.7)).....@result{}.(6.8.10).@en
a06e0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 77 69 74 68 20 23 27 63 6f 6e 73 d.group.@group.(-zip-with.#'cons
a0700 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c .'(1.2.3).'(4.5.6.7)).....@resul
a0720 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 40 65 t{}.((1...4).(2...5).(3...6)).@e
a0740 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 6f 72 nd.group.@group.(--zip-with.(for
a0760 6d 61 74 20 22 25 73 20 26 20 25 73 22 20 69 74 20 6f 74 68 65 72 29 20 27 28 42 61 74 6d 61 6e mat."%s.&.%s".it.other).'(Batman
a0780 20 4a 65 6b 79 6c 6c 29 20 27 28 52 6f 62 69 6e 20 48 79 64 65 29 29 0a 20 20 20 20 40 72 65 73 .Jekyll).'(Robin.Hyde)).....@res
a07a0 75 6c 74 7b 7d 20 28 22 42 61 74 6d 61 6e 20 26 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 ult{}.("Batman.&.Robin"."Jekyll.
a07c0 26 20 48 79 64 65 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 &.Hyde").@end.group.@end.example
a07e0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d 70 61 69 72 7d 0a .@end.defun..@anchor{-zip-pair}.
a0800 40 64 65 66 75 6e 20 2d 7a 69 70 2d 70 61 69 72 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 5a @defun.-zip-pair.(list1.list2).Z
a0820 69 70 20 40 76 61 72 7b 6c 69 73 74 31 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 74 ip.@var{list1}.and.@var{list2}.t
a0840 6f 67 65 74 68 65 72 2e 0a 0a 4d 61 6b 65 20 61 20 70 61 69 72 20 77 69 74 68 20 74 68 65 20 68 ogether...Make.a.pair.with.the.h
a0860 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 ead.of.each.list,.followed.by.a.
a0880 70 61 69 72 20 77 69 74 68 0a 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 pair.with.the.second.element.of.
a08a0 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 each.list,.and.so.on...The.numbe
a08c0 72 20 6f 66 20 70 61 69 72 73 0a 72 65 74 75 72 6e 65 64 20 69 73 20 65 71 75 61 6c 20 74 6f 20 r.of.pairs.returned.is.equal.to.
a08e0 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 72 20 69 6e 70 75 74 20 the.length.of.the.shorter.input.
a0900 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 list...See.also:.@code{-zip-list
a0920 73 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 s}.(@pxref{-zip-lists})...@examp
a0940 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 70 61 69 72 20 27 28 31 20 32 20 33 20 34 29 20 le.@group.(-zip-pair.'(1.2.3.4).
a0960 27 28 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 35 29 '(5.6.7)).....@result{}.((1...5)
a0980 20 28 32 20 2e 20 36 29 20 28 33 20 2e 20 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 .(2...6).(3...7)).@end.group.@gr
a09a0 6f 75 70 0a 28 2d 7a 69 70 2d 70 61 69 72 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 oup.(-zip-pair.'(1.2.3).'(4.5.6)
a09c0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 ).....@result{}.((1...4).(2...5)
a09e0 20 28 33 20 2e 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 .(3...6)).@end.group.@group.(-zi
a0a00 70 2d 70 61 69 72 20 27 28 31 20 32 29 20 27 28 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b p-pair.'(1.2).'(3)).....@result{
a0a20 7d 20 28 28 31 20 2e 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d }.((1...3)).@end.group.@end.exam
a0a40 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d 6c 69 73 ple.@end.defun..@anchor{-zip-lis
a0a60 74 73 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 ts}.@defun.-zip-lists.(&rest.lis
a0a80 74 73 29 0a 5a 69 70 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 74 6f 67 65 74 68 65 72 2e 0a 0a 47 ts).Zip.@var{lists}.together...G
a0aa0 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c roup.the.head.of.each.list,.foll
a0ac0 6f 77 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 65 61 owed.by.the.second.element.of.ea
a0ae0 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 ch.list,.and.so.on...The.number.
a0b00 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 0a 74 of.returned.groupings.is.equal.t
a0b20 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 o.the.length.of.the.shortest.inp
a0b40 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 0a ut.list,.and.the.length.of.each.
a0b60 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 grouping.is.equal.to.the.number.
a0b80 6f 66 20 69 6e 70 75 74 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 54 68 65 20 72 65 74 75 72 of.input.@var{lists}...The.retur
a0ba0 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 n.value.is.always.a.list.of.prop
a0bc0 65 72 20 6c 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 0a 40 63 6f 64 65 7b 2d er.lists,.in.contrast.to.@code{-
a0be0 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 20 77 68 69 63 68 20 72 65 74 75 72 6e zip}.(@pxref{-zip}).which.return
a0c00 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 77 68 65 6e 20 6f 6e s.a.list.of.dotted.pairs.when.on
a0c20 6c 79 20 74 77 6f 20 69 6e 70 75 74 0a 40 76 61 72 7b 6c 69 73 74 73 7d 20 61 72 65 20 70 72 6f ly.two.input.@var{lists}.are.pro
a0c40 76 69 64 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 70 61 69 vided...See.also:.@code{-zip-pai
a0c60 72 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 70 61 69 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c r}.(@pxref{-zip-pair})...@exampl
a0c80 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 e.@group.(-zip-lists.'(1.2.3).'(
a0ca0 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 29 20 28 32 20 4.5.6)).....@result{}.((1.4).(2.
a0cc0 35 29 20 28 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 5).(3.6)).@end.group.@group.(-zi
a0ce0 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 0a 20 20 20 p-lists.'(1.2.3).'(4.5.6.7))....
a0d00 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 40 .@result{}.((1.4).(2.5).(3.6)).@
a0d20 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 end.group.@group.(-zip-lists.'(1
a0d40 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .2).'(3.4.5).'(6)).....@result{}
a0d60 20 28 28 31 20 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 .((1.3.6)).@end.group.@end.examp
a0d80 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d 6c 69 73 74 le.@end.defun..@anchor{-zip-list
a0da0 73 2d 66 69 6c 6c 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 28 s-fill}.@defun.-zip-lists-fill.(
a0dc0 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 20 40 76 61 72 fill-value.&rest.lists).Zip.@var
a0de0 7b 6c 69 73 74 73 7d 20 74 6f 67 65 74 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 {lists}.together,.padding.shorte
a0e00 72 20 6c 69 73 74 73 20 77 69 74 68 20 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c 75 65 7d 2e 0a 54 r.lists.with.@var{fill-value}..T
a0e20 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 his.is.like.@code{-zip-lists}.(@
a0e40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 pxref{-zip-lists}).(which.see),.
a0e60 65 78 63 65 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 0a 65 6c 65 6d 65 6e 74 73 20 61 except.it.retains.all.elements.a
a0e80 74 20 70 6f 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 t.positions.beyond.the.end.of.th
a0ea0 65 20 73 68 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 0a 6e 75 6d 62 65 72 20 6f 66 20 e.shortest.list...The.number.of.
a0ec0 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 returned.groupings.is.equal.to.t
a0ee0 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c he.length.of.the.longest.input.l
a0f00 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 ist,.and.the.length.of.each.grou
a0f20 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 0a 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 ping.is.equal.to.the.number.of.i
a0f40 6e 70 75 74 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f nput.@var{lists}...@example.@gro
a0f60 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 up.(-zip-lists-fill.0.'(1.2).'(3
a0f80 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 20 .4.5).'(6)).....@result{}.((1.3.
a0fa0 36 29 20 28 32 20 34 20 30 29 20 28 30 20 35 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 6).(2.4.0).(0.5.0)).@end.group.@
a0fc0 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 group.(-zip-lists-fill.0.'(1.2).
a0fe0 27 28 33 20 34 29 20 27 28 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 '(3.4).'(5.6)).....@result{}.((1
a1000 20 33 20 35 29 20 28 32 20 34 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .3.5).(2.4.6)).@end.group.@group
a1020 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 29 20 6e 69 6c .(-zip-lists-fill.0.'(1.2.3).nil
a1040 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 30 29 20 28 32 20 30 29 20 28 33 20 ).....@result{}.((1.0).(2.0).(3.
a1060 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 0)).@end.group.@end.example.@end
a1080 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 .defun..@anchor{-zip}.@defun.-zi
a10a0 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 p.(&rest.lists).Zip.@var{lists}.
a10c0 74 6f 67 65 74 68 65 72 2e 0a 0a 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 together...Group.the.head.of.eac
a10e0 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 h.list,.followed.by.the.second.e
a1100 6c 65 6d 65 6e 74 20 6f 66 0a 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 lement.of.each.list,.and.so.on..
a1120 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 .The.number.of.returned.grouping
a1140 73 20 69 73 20 65 71 75 61 6c 0a 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 s.is.equal.to.the.length.of.the.
a1160 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d shortest.input.list,.and.the.num
a1180 62 65 72 20 6f 66 20 69 74 65 6d 73 0a 69 6e 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 ber.of.items.in.each.grouping.is
a11a0 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 40 76 .equal.to.the.number.of.input.@v
a11c0 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 49 66 20 6f 6e 6c 79 20 74 77 6f 20 40 76 61 72 7b 6c 69 73 ar{lists}...If.only.two.@var{lis
a11e0 74 73 7d 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 ts}.are.provided.as.arguments,.r
a1200 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 0a 61 73 20 61 20 6c 69 73 74 20 6f 66 eturn.the.groupings.as.a.list.of
a1220 20 64 6f 74 74 65 64 20 70 61 69 72 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 .dotted.pairs...Otherwise,.retur
a1240 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 0a 6c 69 73 74 20 6f 66 20 70 72 6f n.the.groupings.as.a.list.of.pro
a1260 70 65 72 20 6c 69 73 74 73 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c per.lists...Since.the.return.val
a1280 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 ue.changes.form.depending.on.the
a12a0 20 6e 75 6d 62 65 72 20 6f 66 0a 61 72 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 .number.of.arguments,.it.is.gene
a12c0 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 40 63 6f 64 65 7b 2d rally.recommended.to.use.@code{-
a12e0 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 0a zip-lists}.(@pxref{-zip-lists}).
a1300 69 6e 73 74 65 61 64 2c 20 6f 72 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 70 61 69 72 7d 20 28 40 70 instead,.or.@code{-zip-pair}.(@p
a1320 78 72 65 66 7b 2d 7a 69 70 2d 70 61 69 72 7d 29 20 69 66 20 61 20 6c 69 73 74 20 6f 66 20 64 6f xref{-zip-pair}).if.a.list.of.do
a1340 74 74 65 64 20 70 61 69 72 73 20 69 73 20 64 65 73 69 72 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f tted.pairs.is.desired...See.also
a1360 3a 20 40 63 6f 64 65 7b 2d 75 6e 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 75 6e 7a 69 70 7d 29 :.@code{-unzip}.(@pxref{-unzip})
a1380 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 ...@example.@group.(-zip.'(1.2.3
a13a0 20 34 29 20 27 28 35 20 36 20 37 29 20 27 28 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .4).'(5.6.7).'(8.9)).....@result
a13c0 7b 7d 20 28 28 31 20 35 20 38 29 20 28 32 20 36 20 39 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a {}.((1.5.8).(2.6.9)).@end.group.
a13e0 40 67 72 6f 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 20 27 @group.(-zip.'(1.2.3).'(4.5.6).'
a1400 28 37 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 20 37 29 20 (7.8.9)).....@result{}.((1.4.7).
a1420 28 32 20 35 20 38 29 20 28 33 20 36 20 39 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f (2.5.8).(3.6.9)).@end.group.@gro
a1440 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d up.(-zip.'(1.2.3)).....@result{}
a1460 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .((1).(2).(3)).@end.group.@end.e
a1480 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d xample.@end.defun..@anchor{-zip-
a14a0 66 69 6c 6c 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c fill}.@defun.-zip-fill.(fill-val
a14c0 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 ue.&rest.lists).Zip.@var{lists}.
a14e0 74 6f 67 65 74 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 together,.padding.shorter.lists.
a1500 77 69 74 68 20 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c 75 65 7d 2e 0a 54 68 69 73 20 69 73 20 6c with.@var{fill-value}..This.is.l
a1520 69 6b 65 20 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 20 28 ike.@code{-zip}.(@pxref{-zip}).(
a1540 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c which.see),.except.it.retains.al
a1560 6c 20 65 6c 65 6d 65 6e 74 73 0a 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 l.elements.at.positions.beyond.t
a1580 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 he.end.of.the.shortest.list...Th
a15a0 65 20 6e 75 6d 62 65 72 20 6f 66 0a 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 e.number.of.returned.groupings.i
a15c0 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 6f 6e s.equal.to.the.length.of.the.lon
a15e0 67 65 73 74 20 69 6e 70 75 74 0a 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 gest.input.list,.and.the.length.
a1600 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 of.each.grouping.is.equal.to.the
a1620 20 6e 75 6d 62 65 72 20 6f 66 0a 69 6e 70 75 74 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 53 .number.of.input.@var{lists}...S
a1640 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f ince.the.return.value.changes.fo
a1660 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 61 72 rm.depending.on.the.number.of.ar
a1680 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 guments,.it.is.generally.recomme
a16a0 6e 64 65 64 20 74 6f 20 75 73 65 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c nded.to.use.@code{-zip-lists-fil
a16c0 6c 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 7d 29 0a 69 6e 73 l}.(@pxref{-zip-lists-fill}).ins
a16e0 74 65 61 64 2c 20 75 6e 6c 65 73 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 tead,.unless.a.list.of.dotted.pa
a1700 69 72 73 20 69 73 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 73 69 72 65 64 2e 0a 0a 40 65 78 61 irs.is.explicitly.desired...@exa
a1720 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 mple.@group.(-zip-fill.0.'(1.2.3
a1740 29 20 27 28 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 ).'(4.5)).....@result{}.((1...4)
a1760 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 .(2...5).(3...0)).@end.group.@gr
a1780 6f 75 70 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 28 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 oup.(-zip-fill.0.().'(1.2.3))...
a17a0 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 20 2e 20 31 29 20 28 30 20 2e 20 32 29 20 28 30 20 ..@result{}.((0...1).(0...2).(0.
a17c0 2e 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 66 69 ..3)).@end.group.@group.(-zip-fi
a17e0 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 29 29 0a 20 20 20 20 40 ll.0.'(1.2).'(3.4).'(5.6)).....@
a1800 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 20 35 29 20 28 32 20 34 20 36 29 29 0a 40 65 6e 64 20 result{}.((1.3.5).(2.4.6)).@end.
a1820 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
a1840 61 6e 63 68 6f 72 7b 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 7d 0a 40 64 65 66 75 6e 20 2d 75 6e 7a anchor{-unzip-lists}.@defun.-unz
a1860 69 70 2d 6c 69 73 74 73 20 28 6c 69 73 74 73 29 0a 55 6e 7a 69 70 20 40 76 61 72 7b 6c 69 73 74 ip-lists.(lists).Unzip.@var{list
a1880 73 7d 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f 64 65 7b s}...This.works.just.like.@code{
a18a0 2d 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 -zip-lists}.(@pxref{-zip-lists})
a18c0 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 0a 6f .(which.see),.but.takes.a.list.o
a18e0 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 f.lists.instead.of.a.variable.nu
a1900 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a 0a 20 20 mber.of.arguments,.such.that....
a1920 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 40 76 61 72 7b 61 (-unzip-lists.(-zip-lists.@var{a
a1940 72 67 73 7d 40 64 6f 74 73 7b 7d 29 29 0a 0a 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 rgs}@dots{}))..is.identity.(give
a1960 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 63 6f 6d 70 72 69 73 69 6e 67 20 40 76 61 72 n.that.the.lists.comprising.@var
a1980 7b 61 72 67 73 7d 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 0a 6c 65 6e 67 74 68 29 2e 0a {args}.are.of.the.same.length)..
a19a0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 .@example.@group.(-unzip-lists.(
a19c0 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 29 29 -zip-lists.'(1.2).'(3.4).'(5.6))
a19e0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 ).....@result{}.((1.2).(3.4).(5.
a1a00 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 7a 69 70 2d 6c 69 6)).@end.group.@group.(-unzip-li
a1a20 73 74 73 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 sts.'((1.2.3).(4.5).(6.7).(8.9))
a1a40 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 20 36 20 38 29 20 28 32 20 35 20 ).....@result{}.((1.4.6.8).(2.5.
a1a60 37 20 39 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 7a 69 70 2d 7.9)).@end.group.@group.(-unzip-
a1a80 6c 69 73 74 73 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 0a 20 20 20 20 40 72 lists.'((1.2.3).(4.5.6))).....@r
a1aa0 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 40 65 6e 64 esult{}.((1.4).(2.5).(3.6)).@end
a1ac0 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
a1ae0 40 61 6e 63 68 6f 72 7b 2d 75 6e 7a 69 70 7d 0a 40 64 65 66 75 6e 20 2d 75 6e 7a 69 70 20 28 6c @anchor{-unzip}.@defun.-unzip.(l
a1b00 69 73 74 73 29 0a 55 6e 7a 69 70 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 54 68 69 73 20 77 ists).Unzip.@var{lists}...This.w
a1b20 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 orks.just.like.@code{-zip}.(@pxr
a1b40 65 66 7b 2d 7a 69 70 7d 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 ef{-zip}).(which.see),.but.takes
a1b60 20 61 20 6c 69 73 74 20 6f 66 0a 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 .a.list.of.lists.instead.of.a.va
a1b80 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 riable.number.of.arguments,.such
a1ba0 20 74 68 61 74 0a 0a 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 40 76 61 72 7b 6c 31 7d 20 .that....(-unzip.(-zip.@var{l1}.
a1bc0 40 76 61 72 7b 6c 32 7d 20 40 76 61 72 7b 6c 33 7d 20 40 64 6f 74 73 7b 7d 29 29 0a 0a 69 73 20 @var{l2}.@var{l3}.@dots{}))..is.
a1be0 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 61 identity.(given.that.the.lists.a
a1c00 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 0a 74 68 61 74 20 re.of.the.same.length,.and.that.
a1c20 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 20 69 73 20 6e 6f @code{-zip}.(@pxref{-zip}).is.no
a1c40 74 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 62 65 63 t.called.with.two.arguments,.bec
a1c60 61 75 73 65 20 6f 66 20 74 68 65 0a 63 61 76 65 61 74 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 ause.of.the.caveat.described.in.
a1c80 69 74 73 20 64 6f 63 73 74 72 69 6e 67 29 2e 0a 0a 4e 6f 74 65 20 69 6e 20 70 61 72 74 69 63 75 its.docstring)...Note.in.particu
a1ca0 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 40 63 6f 64 65 7b 2d 75 6e 7a 69 70 7d 20 28 lar.that.calling.@code{-unzip}.(
a1cc0 40 70 78 72 65 66 7b 2d 75 6e 7a 69 70 7d 29 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f @pxref{-unzip}).on.a.list.of.two
a1ce0 20 6c 69 73 74 73 0a 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 .lists.will.return.a.list.of.dot
a1d00 74 65 64 20 70 61 69 72 73 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c ted.pairs...Since.the.return.val
a1d20 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 ue.changes.form.depending.on.the
a1d40 20 6e 75 6d 62 65 72 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 73 7d 2c 20 69 74 20 69 73 20 67 65 .number.of.@var{lists},.it.is.ge
a1d60 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 40 63 6f 64 65 nerally.recommended.to.use.@code
a1d80 7b 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 70 78 72 65 66 7b 2d 75 6e 7a 69 70 2d 6c 69 {-unzip-lists}.(@pxref{-unzip-li
a1da0 73 74 73 7d 29 20 69 6e 73 74 65 61 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a sts}).instead...@example.@group.
a1dc0 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 (-unzip.(-zip.'(1.2).'(3.4).'(5.
a1de0 36 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 32 29 20 28 33 20 2e 6))).....@result{}.((1...2).(3..
a1e00 20 34 29 20 28 35 20 2e 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 .4).(5...6)).@end.group.@group.(
a1e20 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 0a 20 20 20 20 40 -unzip.'((1.2.3).(4.5.6))).....@
a1e40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 result{}.((1...4).(2...5).(3...6
a1e60 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 7a 69 70 20 27 28 28 )).@end.group.@group.(-unzip.'((
a1e80 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 29 0a 20 20 20 20 40 1.2.3).(4.5).(6.7).(8.9))).....@
a1ea0 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 20 36 20 38 29 20 28 32 20 35 20 37 20 39 29 29 0a 40 result{}.((1.4.6.8).(2.5.7.9)).@
a1ec0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
a1ee0 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 64 20 28 66 69 n..@anchor{-pad}.@defun.-pad.(fi
a1f00 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 50 61 64 20 65 61 63 68 20 6f ll-value.&rest.lists).Pad.each.o
a1f20 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 77 69 74 68 20 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c f.@var{lists}.with.@var{fill-val
a1f40 75 65 7d 20 75 6e 74 69 6c 20 74 68 65 79 20 61 6c 6c 20 68 61 76 65 20 65 71 75 61 6c 20 6c 65 ue}.until.they.all.have.equal.le
a1f60 6e 67 74 68 73 2e 0a 0a 45 6e 73 75 72 65 20 61 6c 6c 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 61 ngths...Ensure.all.@var{lists}.a
a1f80 72 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6f 6e 65 20 62 79 re.as.long.as.the.longest.one.by
a1fa0 20 72 65 70 65 61 74 65 64 6c 79 0a 61 70 70 65 6e 64 69 6e 67 20 40 76 61 72 7b 66 69 6c 6c 2d .repeatedly.appending.@var{fill-
a1fc0 76 61 6c 75 65 7d 20 74 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2c 20 61 6e 64 value}.to.the.shorter.lists,.and
a1fe0 20 72 65 74 75 72 6e 20 74 68 65 0a 72 65 73 75 6c 74 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 73 .return.the.resulting.@var{lists
a2000 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 28 29 29 0a }...@example.@group.(-pad.0.()).
a2020 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ....@result{}.(nil).@end.group.@
a2040 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 29 0a 20 20 20 group.(-pad.0.'(1.2).'(3.4))....
a2060 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 29 0a 40 65 6e 64 20 67 72 .@result{}.((1.2).(3.4)).@end.gr
a2080 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 20 oup.@group.(-pad.0.'(1.2).'(3.4.
a20a0 35 20 36 29 20 27 28 37 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 5.6).'(7.8.9)).....@result{}.((1
a20c0 20 32 20 30 20 30 29 20 28 33 20 34 20 35 20 36 29 20 28 37 20 38 20 39 20 30 29 29 0a 40 65 6e .2.0.0).(3.4.5.6).(7.8.9.0)).@en
a20e0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
a2100 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 62 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 62 6c 65 20 28 .@anchor{-table}.@defun.-table.(
a2120 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 fn.&rest.lists).Compute.outer.pr
a2140 6f 64 75 63 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 75 73 69 6e 67 20 66 75 6e 63 74 oduct.of.@var{lists}.using.funct
a2160 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 ion.@var{fn}...The.function.@var
a2180 7b 66 6e 7d 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 {fn}.should.have.the.same.arity.
a21a0 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e as.the.number.of.supplied.lists.
a21c0 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 ..The.outer.product.is.computed.
a21e0 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 by.applying.fn.to.all.possible.c
a2200 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e ombinations.created.by.taking.on
a2220 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 e.element.from.each.list.in.orde
a2240 72 2e 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 r...The.dimension.of.the.result.
a2260 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 is.(length.lists)...See.also:.@c
a2280 6f 64 65 7b 2d 74 61 62 6c 65 2d 66 6c 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 62 6c 65 2d ode{-table-flat}.(@pxref{-table-
a22a0 66 6c 61 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 20 flat})..@example.@group.(-table.
a22c0 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c '*.'(1.2.3).'(1.2.3)).....@resul
a22e0 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 0a 40 65 t{}.((1.2.3).(2.4.6).(3.6.9)).@e
a2300 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 nd.group.@group.(-table.(lambda.
a2320 28 61 20 62 29 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 (a.b).(-sum.(-zip-with.'*.a.b)))
a2340 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a .'((1.2).(3.4)).'((1.3).(2.4))).
a2360 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 40 ....@result{}.((7.15).(10.22)).@
a2380 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 end.group.@group.(apply.'-table.
a23a0 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 40 72 'list.(-repeat.3.'(1.2))).....@r
a23c0 65 73 75 6c 74 7b 7d 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 esult{}.((((1.1.1).(2.1.1)).((1.
a23e0 32 20 31 29 20 28 32 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 2.1).(2.2.1))).(((1.1.2).(2.1.2)
a2400 29 20 28 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 ).((1.2.2).(2.2.2)))).@end.group
a2420 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
a2440 72 7b 2d 74 61 62 6c 65 2d 66 6c 61 74 7d 0a 40 64 65 66 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 r{-table-flat}.@defun.-table-fla
a2460 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 t.(fn.&rest.lists).Compute.flat.
a2480 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 75 73 69 outer.product.of.@var{lists}.usi
a24a0 6e 67 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 65 20 66 75 6e 63 74 ng.function.@var{fn}...The.funct
a24c0 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d ion.@var{fn}.should.have.the.sam
a24e0 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 e.arity.as.the.number.of.supplie
a2500 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 d.lists...The.outer.product.is.c
a2520 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f omputed.by.applying.fn.to.all.po
a2540 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 ssible.combinations.created.by.t
a2560 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 aking.one.element.from.each.list
a2580 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 .in.order...The.results.are.flat
a25a0 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 tened,.ignoring.the.tensor.struc
a25c0 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 ture.of.the.result...This.is.equ
a25e0 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 28 2d 66 6c 61 74 74 65 6e ivalent.to.calling:....(-flatten
a2600 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 27 2d -n.(1-.(length.lists)).(apply.'-
a2620 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d table.fn.lists))..but.the.implem
a2640 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 65 66 66 69 63 entation.here.is.much.more.effic
a2660 69 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d ient...See.also:.@code{-flatten-
a2680 6e 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d n}.(@pxref{-flatten-n}),.@code{-
a26a0 74 61 62 6c 65 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 62 6c 65 7d 29 0a 0a 40 65 78 61 6d 70 6c table}.(@pxref{-table})..@exampl
a26c0 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 27 28 31 20 e.@group.(-table-flat.'list.'(1.
a26e0 32 20 33 29 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 2.3).'(a.b.c)).....@result{}.((1
a2700 20 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 33 20 62 .a).(2.a).(3.a).(1.b).(2.b).(3.b
a2720 29 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a ).(1.c).(2.c).(3.c)).@end.group.
a2740 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 29 20 @group.(-table-flat.'*.'(1.2.3).
a2760 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 32 '(1.2.3)).....@result{}.(1.2.3.2
a2780 20 34 20 36 20 33 20 36 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 .4.6.3.6.9).@end.group.@group.(a
a27a0 70 70 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 pply.'-table-flat.'list.(-repeat
a27c0 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 31 20 .3.'(1.2))).....@result{}.((1.1.
a27e0 31 29 20 28 32 20 31 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 31 20 31 20 1).(2.1.1).(1.2.1).(2.2.1).(1.1.
a2800 32 29 20 28 32 20 31 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 40 65 6e 64 2).(2.1.2).(1.2.2).(2.2.2)).@end
a2820 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
a2840 40 61 6e 63 68 6f 72 7b 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 66 69 72 73 74 20 28 70 @anchor{-first}.@defun.-first.(p
a2860 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 red.list).Return.the.first.item.
a2880 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 in.@var{list}.for.which.@var{pre
a28a0 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 52 65 74 75 72 d}.returns.non-@code{nil}..Retur
a28c0 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 n.@code{nil}.if.no.such.element.
a28e0 69 73 20 66 6f 75 6e 64 2e 0a 0a 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d is.found...To.get.the.first.item
a2900 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c .in.the.list.no.questions.asked,
a2920 0a 75 73 65 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b .use.@code{-first-item}.(@pxref{
a2940 2d 66 69 72 73 74 2d 69 74 65 6d 7d 29 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 66 69 -first-item})...Alias:.@code{-fi
a2960 6e 64 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 nd}...This.function's.anaphoric.
a2980 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 66 69 72 73 74 7d 2e 0a 0a counterpart.is.@code{--first}...
a29a0 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d @example.@group.(-first.#'natnum
a29c0 70 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e p.'(-1.0.1)).....@result{}.0.@en
a29e0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 20 23 27 6e 75 6c 6c 20 27 28 d.group.@group.(-first.#'null.'(
a2a00 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 1.2.3)).....@result{}.nil.@end.g
a2a20 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 27 28 roup.@group.(--first.(>.it.2).'(
a2a40 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 1.2.3)).....@result{}.3.@end.gro
a2a60 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
a2a80 68 6f 72 7b 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 hor{-last}.@defun.-last.(pred.li
a2aa0 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 40 76 61 72 7b 6c 69 st).Return.the.last.x.in.@var{li
a2ac0 73 74 7d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 20 69 73 20 6e 6f 6e 2d st}.where.(@var{pred}.x).is.non-
a2ae0 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 65 6c 73 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 40 65 @code{nil},.else.@code{nil}...@e
a2b00 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 xample.@group.(-last.'even?.'(1.
a2b20 32 20 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 2.3.4.5.6.3.3.3)).....@result{}.
a2b40 36 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 6.@end.group.@group.(-last.'even
a2b60 3f 20 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 ?.'(1.3.7.5.9)).....@result{}.ni
a2b80 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6c 61 73 74 20 28 3e 20 28 l.@end.group.@group.(--last.(>.(
a2ba0 6c 65 6e 67 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f length.it).3).'("a"."looong"."wo
a2bc0 72 64 22 20 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 29 29 0a 20 20 20 20 40 72 rd"."and"."short"."one")).....@r
a2be0 65 73 75 6c 74 7b 7d 20 22 73 68 6f 72 74 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 esult{}."short".@end.group.@end.
a2c00 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 72 example.@end.defun..@anchor{-fir
a2c20 73 74 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 st-item}.@defun.-first-item.(lis
a2c40 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 40 76 61 72 t).Return.the.first.item.of.@var
a2c60 7b 6c 69 73 74 7d 2c 20 6f 72 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 6f 6e 20 61 6e 20 65 6d 70 74 {list},.or.@code{nil}.on.an.empt
a2c80 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 63 6f 6e 64 y.list...See.also:.@code{-second
a2ca0 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 29 2c 20 40 -item}.(@pxref{-second-item}),.@
a2cc0 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 2d 69 code{-last-item}.(@pxref{-last-i
a2ce0 74 65 6d 7d 29 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 tem}),.etc...@example.@group.(-f
a2d00 69 72 73 74 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 irst-item.()).....@result{}.().@
a2d20 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 end.group.@group.(-first-item.'(
a2d40 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 1.2.3.4.5)).....@result{}.1.@end
a2d60 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 .group.@group.(let.((list.(list.
a2d80 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 1.2.3))).(setf.(-first-item.list
a2da0 29 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 20 32 20 33 29 ).5).list).....@result{}.(5.2.3)
a2dc0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
a2de0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 0a 40 64 65 66 75 fun..@anchor{-second-item}.@defu
a2e00 6e 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 n.-second-item.(list).Return.the
a2e20 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 40 .second.item.of.@var{list},.or.@
a2e40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 74 6f 6f 20 73 code{nil}.if.@var{list}.is.too.s
a2e60 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 2d 69 74 hort...See.also:.@code{-first-it
a2e80 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 29 2c 20 40 63 6f 64 65 em}.(@pxref{-first-item}),.@code
a2ea0 7b 2d 74 68 69 72 64 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 68 69 72 64 2d 69 74 65 {-third-item}.(@pxref{-third-ite
a2ec0 6d 7d 29 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 63 m}),.etc...@example.@group.(-sec
a2ee0 6f 6e 64 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 ond-item.()).....@result{}.().@e
a2f00 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 nd.group.@group.(-second-item.'(
a2f20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 1.2.3.4.5)).....@result{}.2.@end
a2f40 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 .group.@group.(let.((list.(list.
a2f60 31 20 32 29 29 29 20 28 73 65 74 66 20 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6c 69 73 74 29 1.2))).(setf.(-second-item.list)
a2f80 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 35 29 0a 40 65 .5).list).....@result{}.(1.5).@e
a2fa0 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
a2fc0 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 68 69 72 64 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 ..@anchor{-third-item}.@defun.-t
a2fe0 68 69 72 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 hird-item.(list).Return.the.thir
a3000 64 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 40 63 6f 64 65 7b 6e d.item.of.@var{list},.or.@code{n
a3020 69 6c 7d 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a il}.if.@var{list}.is.too.short..
a3040 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 20 28 .See.also:.@code{-second-item}.(
a3060 40 70 78 72 65 66 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 29 2c 20 40 63 6f 64 65 7b 2d 66 6f @pxref{-second-item}),.@code{-fo
a3080 75 72 74 68 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7d urth-item}.(@pxref{-fourth-item}
a30a0 29 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 68 69 72 64 ),.etc...@example.@group.(-third
a30c0 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 -item.()).....@result{}.().@end.
a30e0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 20 32 29 group.@group.(-third-item.'(1.2)
a3100 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).....@result{}.().@end.group.@g
a3120 72 6f 75 70 0a 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a roup.(-third-item.'(1.2.3.4.5)).
a3140 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ....@result{}.3.@end.group.@end.
a3160 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 6f 75 example.@end.defun..@anchor{-fou
a3180 72 74 68 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 28 6c rth-item}.@defun.-fourth-item.(l
a31a0 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 6f 66 20 40 ist).Return.the.fourth.item.of.@
a31c0 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 var{list},.or.@code{nil}.if.@var
a31e0 7b 6c 69 73 74 7d 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 {list}.is.too.short...See.also:.
a3200 40 63 6f 64 65 7b 2d 74 68 69 72 64 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 68 69 72 @code{-third-item}.(@pxref{-thir
a3220 64 2d 69 74 65 6d 7d 29 2c 20 40 63 6f 64 65 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 20 28 40 70 d-item}),.@code{-fifth-item}.(@p
a3240 78 72 65 66 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 29 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 xref{-fifth-item}),.etc...@examp
a3260 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 le.@group.(-fourth-item.()).....
a3280 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 @result{}.().@end.group.@group.(
a32a0 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 -fourth-item.'(1.2.3)).....@resu
a32c0 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6f 75 72 lt{}.().@end.group.@group.(-four
a32e0 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c th-item.'(1.2.3.4.5)).....@resul
a3300 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 t{}.4.@end.group.@end.example.@e
a3320 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 0a 40 nd.defun..@anchor{-fifth-item}.@
a3340 64 65 66 75 6e 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 defun.-fifth-item.(list).Return.
a3360 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 the.fifth.item.of.@var{list},.or
a3380 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 74 6f 6f .@code{nil}.if.@var{list}.is.too
a33a0 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6f 75 72 74 68 .short...See.also:.@code{-fourth
a33c0 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7d 29 2c 20 40 -item}.(@pxref{-fourth-item}),.@
a33e0 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 2d 69 code{-last-item}.(@pxref{-last-i
a3400 74 65 6d 7d 29 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 tem}),.etc...@example.@group.(-f
a3420 69 66 74 68 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 ifth-item.()).....@result{}.().@
a3440 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 end.group.@group.(-fifth-item.'(
a3460 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 1.2.3.4)).....@result{}.().@end.
a3480 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 group.@group.(-fifth-item.'(1.2.
a34a0 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 3.4.5)).....@result{}.5.@end.gro
a34c0 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
a34e0 68 6f 72 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 6c 61 73 74 2d 69 74 65 hor{-last-item}.@defun.-last-ite
a3500 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 m.(list).Return.the.last.item.of
a3520 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 6f 6e 20 61 6e .@var{list},.or.@code{nil}.on.an
a3540 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 .empty.list...See.also:.@code{-f
a3560 69 72 73 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 29 irst-item}.(@pxref{-first-item})
a3580 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 2d 69 ,.etc...@example.@group.(-last-i
a35a0 74 65 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 tem.()).....@result{}.().@end.gr
a35c0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 oup.@group.(-last-item.'(1.2.3.4
a35e0 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a .5)).....@result{}.5.@end.group.
a3600 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 @group.(let.((list.(list.1.2.3))
a3620 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 ).(setf.(-last-item.list).5).lis
a3640 74 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 35 29 0a 40 65 6e 64 20 67 72 t).....@result{}.(1.2.5).@end.gr
a3660 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
a3680 63 68 6f 72 7b 2d 62 75 74 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 74 20 28 chor{-butlast}.@defun.-butlast.(
a36a0 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 list).Return.a.list.of.all.items
a36c0 20 69 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 40 .in.list.except.for.the.last...@
a36e0 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 example.@group.(-butlast.'(1.2.3
a3700 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(1.2).@end.grou
a3720 70 0a 40 67 72 6f 75 70 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 p.@group.(-butlast.'(1.2)).....@
a3740 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 result{}.(1).@end.group.@group.(
a3760 2d 62 75 74 6c 61 73 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c -butlast.'(1)).....@result{}.nil
a3780 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
a37a0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 72 74 7d 0a 40 64 65 66 75 6e 20 2d 73 6f 72 74 fun..@anchor{-sort}.@defun.-sort
a37c0 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 53 6f 72 74 20 40 76 61 72 7b 6c 69 73 .(comparator.list).Sort.@var{lis
a37e0 74 7d 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 t},.stably,.comparing.elements.u
a3800 73 69 6e 67 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 2e 0a 52 65 74 75 72 6e 20 74 68 sing.@var{comparator}..Return.th
a3820 65 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 40 76 e.sorted.list...@var{list}.is.@v
a3840 61 72 7b 6e 6f 74 7d 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 ar{not}.modified.by.side.effects
a3860 2e 0a 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 ..@var{comparator}.is.called.wit
a3880 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e h.two.elements.of.@var{list},.an
a38a0 64 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 0a 69 d.should.return.non-@code{nil}.i
a38c0 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 f.the.first.element.should.sort.
a38e0 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 before.the.second...@example.@gr
a3900 6f 75 70 0a 28 2d 73 6f 72 74 20 23 27 3c 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 oup.(-sort.#'<.'(3.1.2)).....@re
a3920 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 sult{}.(1.2.3).@end.group.@group
a3940 0a 28 2d 73 6f 72 74 20 23 27 3e 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c .(-sort.#'>.'(3.1.2)).....@resul
a3960 74 7b 7d 20 28 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d t{}.(3.2.1).@end.group.@group.(-
a3980 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 -sort.(<.it.other).'(3.1.2))....
a39a0 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 .@result{}.(1.2.3).@end.group.@e
a39c0 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
a39e0 6c 69 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 45 6e 73 75 72 65 20 list}.@defun.-list.(arg).Ensure.
a3a00 40 76 61 72 7b 61 72 67 7d 20 69 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 40 76 61 72 7b 61 72 67 @var{arg}.is.a.list..If.@var{arg
a3a20 7d 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 }.is.already.a.list,.return.it.a
a3a40 73 20 69 73 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 s.is.(not.a.copy)..Otherwise,.re
a3a60 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 40 76 61 72 7b 61 72 67 7d 20 61 turn.a.new.list.with.@var{arg}.a
a3a80 73 20 69 74 73 20 6f 6e 6c 79 20 65 6c 65 6d 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 73 75 70 s.its.only.element...Another.sup
a3aa0 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 28 2d 6c ported.calling.convention.is.(-l
a3ac0 69 73 74 20 26 72 65 73 74 20 40 76 61 72 7b 61 72 67 73 7d 29 2e 0a 49 6e 20 74 68 69 73 20 63 ist.&rest.@var{args})..In.this.c
a3ae0 61 73 65 2c 20 69 66 20 40 76 61 72 7b 61 72 67 7d 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c ase,.if.@var{arg}.is.not.a.list,
a3b00 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 40 76 61 72 7b 61 72 67 .a.new.list.with.all.of.@var{arg
a3b20 73 7d 20 61 73 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 s}.as.elements.is.returned...Thi
a3b40 73 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 s.use.is.supported.for.backward.
a3b60 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 compatibility.and.is.otherwise.d
a3b80 65 70 72 65 63 61 74 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 eprecated...@example.@group.(-li
a3ba0 73 74 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f st.1).....@result{}.(1).@end.gro
a3bc0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 up.@group.(-list.()).....@result
a3be0 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 73 74 20 27 {}.().@end.group.@group.(-list.'
a3c00 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 (1.2.3)).....@result{}.(1.2.3).@
a3c20 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
a3c40 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 66 69 78 20 28 66 6e n..@anchor{-fix}.@defun.-fix.(fn
a3c60 20 6c 69 73 74 29 0a 43 6f 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f .list).Compute.the.(least).fixpo
a3c80 69 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 int.of.@var{fn}.with.initial.inp
a3ca0 75 74 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 76 61 72 7b 66 6e 7d 20 69 73 20 63 61 6c 6c ut.@var{list}...@var{fn}.is.call
a3cc0 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f ed.at.least.once,.results.are.co
a3ce0 6d 70 61 72 65 64 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 6d mpared.with.@code{equal}...@exam
a3d00 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e ple.@group.(-fix.(lambda.(l).(-n
a3d20 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 on-nil.(--mapcat.(-split-at.(/.(
a3d40 6c 65 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 length.it).2).it).l))).'((1.2.3)
a3d60 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 40 )).....@result{}.((1).(2).(3)).@
a3d80 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 end.group.@group.(let.((l.'((sta
a3da0 72 77 61 72 73 20 73 63 69 66 69 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 rwars.scifi).(jedi.starwars.warr
a3dc0 69 6f 72 29 29 29 29 20 28 2d 2d 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 ior)))).(--fix.(-uniq.(--mapcat.
a3de0 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 (cons.it.(cdr.(assq.it.l))).it))
a3e00 20 27 28 6a 65 64 69 20 62 6f 6f 6b 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6a .'(jedi.book))).....@result{}.(j
a3e20 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 edi.starwars.warrior.scifi.book)
a3e40 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
a3e60 66 75 6e 0a 0a 40 6e 6f 64 65 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 fun..@node.Tree.operations.@sect
a3e80 69 6f 6e 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 ion.Tree.operations..Functions.p
a3ea0 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 40 61 6e 63 retending.lists.are.trees...@anc
a3ec0 68 6f 72 7b 2d 74 72 65 65 2d 73 65 71 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 73 65 71 20 hor{-tree-seq}.@defun.-tree-seq.
a3ee0 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 52 65 74 75 72 6e 20 61 20 (branch.children.tree).Return.a.
a3f00 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 40 76 61 72 7b 74 72 sequence.of.the.nodes.in.@var{tr
a3f20 65 65 7d 2c 20 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 20 6f 72 64 65 72 ee},.in.depth-first.search.order
a3f40 2e 0a 0a 40 76 61 72 7b 62 72 61 6e 63 68 7d 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f ...@var{branch}.is.a.predicate.o
a3f60 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d f.one.argument.that.returns.non-
a3f80 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 74 68 65 0a 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e @code{nil}.if.the.passed.argumen
a3fa0 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 t.is.a.branch,.that.is,.a.node.t
a3fc0 68 61 74 20 63 61 6e 20 68 61 76 65 20 63 68 69 6c 64 72 65 6e 2e 0a 0a 40 76 61 72 7b 63 68 69 hat.can.have.children...@var{chi
a3fe0 6c 64 72 65 6e 7d 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 ldren}.is.a.function.of.one.argu
a4000 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 6c 64 72 65 6e 0a 6f ment.that.returns.the.children.o
a4020 66 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 2e 0a 0a 4e 6f 6e 2d 62 f.the.passed.branch.node...Non-b
a4040 72 61 6e 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 6f 70 69 65 64 2e 0a 0a ranch.nodes.are.simply.copied...
a4060 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 @example.@group.(-tree-seq.'list
a4080 70 20 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 p.'identity.'(1.(2.3).4.(5.(6.7)
a40a0 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 ))).....@result{}.((1.(2.3).4.(5
a40c0 20 28 36 20 37 29 29 29 20 31 20 28 32 20 33 29 20 32 20 33 20 34 20 28 35 20 28 36 20 37 29 29 .(6.7))).1.(2.3).2.3.4.(5.(6.7))
a40e0 20 35 20 28 36 20 37 29 20 36 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .5.(6.7).6.7).@end.group.@group.
a4100 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 76 65 72 73 65 20 27 28 31 20 28 (-tree-seq.'listp.'reverse.'(1.(
a4120 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 2.3).4.(5.(6.7)))).....@result{}
a4140 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 .((1.(2.3).4.(5.(6.7))).(5.(6.7)
a4160 29 20 28 36 20 37 29 20 37 20 36 20 35 20 34 20 28 32 20 33 29 20 33 20 32 20 31 29 0a 40 65 6e ).(6.7).7.6.5.4.(2.3).3.2.1).@en
a4180 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 73 65 71 20 28 76 65 63 74 d.group.@group.(--tree-seq.(vect
a41a0 6f 72 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 6e 69 6c 29 20 5b 31 20 5b 32 20 33 5d orp.it).(append.it.nil).[1.[2.3]
a41c0 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 5b 31 .4.[5.[6.7]]]).....@result{}.([1
a41e0 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 33 20 .[2.3].4.[5.[6.7]]].1.[2.3].2.3.
a4200 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 5d 20 36 20 37 29 0a 40 65 6e 64 20 67 72 4.[5.[6.7]].5.[6.7].6.7).@end.gr
a4220 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
a4240 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 chor{-tree-map}.@defun.-tree-map
a4260 20 28 66 6e 20 74 72 65 65 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 .(fn.tree).Apply.@var{fn}.to.eac
a4280 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 77 68 69 6c 65 20 70 72 h.element.of.@var{tree}.while.pr
a42a0 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 20 73 74 72 75 63 74 75 72 65 2e 0a 0a 40 65 eserving.the.tree.structure...@e
a42c0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 xample.@group.(-tree-map.'1+.'(1
a42e0 20 28 32 20 33 29 20 28 34 20 28 35 20 36 29 20 37 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .(2.3).(4.(5.6).7))).....@result
a4300 7b 7d 20 28 32 20 28 33 20 34 29 20 28 35 20 28 36 20 37 29 20 38 29 29 0a 40 65 6e 64 20 67 72 {}.(2.(3.4).(5.(6.7).8)).@end.gr
a4320 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 6d 62 64 61 20 28 oup.@group.(-tree-map.'(lambda.(
a4340 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 20 32 20 78 29 29 29 20 27 28 31 20 28 32 20 33 x).(cons.x.(expt.2.x))).'(1.(2.3
a4360 29 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 32 29 20 28 28 32 ).4)).....@result{}.((1...2).((2
a4380 20 2e 20 34 29 20 28 33 20 2e 20 38 29 29 20 28 34 20 2e 20 31 36 29 29 0a 40 65 6e 64 20 67 72 ...4).(3...8)).(4...16)).@end.gr
a43a0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 69 oup.@group.(--tree-map.(length.i
a43c0 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 3e 22 20 22 74 65 78 74 22 20 22 3c 2f 70 t).'("<body>".("<p>"."text"."</p
a43e0 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 >")."</body>")).....@result{}.(6
a4400 20 28 33 20 34 20 34 29 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d .(3.4.4).7).@end.group.@end.exam
a4420 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 ple.@end.defun..@anchor{-tree-ma
a4440 70 2d 6e 6f 64 65 73 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 p-nodes}.@defun.-tree-map-nodes.
a4460 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 75 6e 7d 20 6f (pred.fun.tree).Call.@var{fun}.o
a4480 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 74 68 61 74 20 73 n.each.node.of.@var{tree}.that.s
a44a0 61 74 69 73 66 69 65 73 20 40 76 61 72 7b 70 72 65 64 7d 2e 0a 0a 49 66 20 40 76 61 72 7b 70 72 atisfies.@var{pred}...If.@var{pr
a44c0 65 64 7d 20 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 63 6f 6e 74 69 6e 75 65 ed}.returns.@code{nil},.continue
a44e0 20 64 65 73 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 .descending.down.this.node...If.
a4500 40 76 61 72 7b 70 72 65 64 7d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c @var{pred}.returns.non-@code{nil
a4520 7d 2c 20 61 70 70 6c 79 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 74 68 69 73 20 6e 6f 64 65 20 },.apply.@var{fun}.to.this.node.
a4540 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 2e 0a 0a 40 65 78 and.do.not.descend.further...@ex
a4560 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 27 76 ample.@group.(-tree-map-nodes.'v
a4580 65 63 74 6f 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d 20 28 61 70 70 65 6e 64 ectorp.(lambda.(x).(-sum.(append
a45a0 20 78 20 6e 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 20 5b 36 20 37 5d 20 38 .x.nil))).'(1.[2.3].4.(5.[6.7].8
a45c0 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 35 20 34 20 28 35 20 31 33 20 38 ))).....@result{}.(1.5.4.(5.13.8
a45e0 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 2d )).@end.group.@group.(-tree-map-
a4600 6e 6f 64 65 73 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 73 79 6d nodes.'keywordp.(lambda.(x).(sym
a4620 62 6f 6c 2d 6e 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 36 20 3a 62 bol-name.x)).'(1.:foo.4.((5.6.:b
a4640 61 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 ar).:baz.8))).....@result{}.(1."
a4660 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a 62 61 7a 22 20 38 29 29 :foo".4.((5.6.":bar").":baz".8))
a4680 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e .@end.group.@group.(--tree-map-n
a46a0 6f 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 61 64 64 2d 6d 6f 64 65 odes.(eq.(car-safe.it).'add-mode
a46c0 29 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 65 20 27 65 6d 61 63 73 ).(-concat.it.(list.:mode.'emacs
a46e0 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c -lisp-mode)).'(with-mode.emacs-l
a4700 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 isp-mode.(foo.bar).(add-mode.a.b
a4720 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 0a 20 20 20 20 40 72 65 ).(baz.(add-mode.c.d)))).....@re
a4740 73 75 6c 74 7b 7d 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 sult{}.(with-mode.emacs-lisp-mod
a4760 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d 6f 64 65 20 e.(foo.bar).(add-mode.a.b.:mode.
a4780 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 emacs-lisp-mode).(baz.(add-mode.
a47a0 63 20 64 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a 40 65 6e c.d.:mode.emacs-lisp-mode))).@en
a47c0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
a47e0 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 74 .@anchor{-tree-reduce}.@defun.-t
a4800 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 74 72 65 65 29 0a 55 73 65 20 40 76 61 72 7b 66 6e ree-reduce.(fn.tree).Use.@var{fn
a4820 7d 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 40 76 61 }.to.reduce.elements.of.list.@va
a4840 72 7b 74 72 65 65 7d 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 r{tree}..If.elements.of.@var{tre
a4860 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 e}.are.lists.themselves,.apply.t
a4880 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 40 76 61 72 7b he.reduction.recursively...@var{
a48a0 66 6e 7d 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c fn}.is.first.applied.to.first.el
a48c0 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 ement.of.the.list.and.second.ele
a48e0 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 ment,.then.on.this.result.and.th
a4900 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ird.element.from.the.list.etc...
a4920 53 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 See.@code{-reduce-r}.(@pxref{-re
a4940 64 75 63 65 2d 72 7d 29 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 duce-r}).for.how.exactly.are.lis
a4960 74 73 20 6f 66 20 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 ts.of.zero.or.one.element.handle
a4980 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 d...@example.@group.(-tree-reduc
a49a0 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 35 29 29 29 0a 20 20 20 20 40 72 65 73 75 e.'+.'(1.(2.3).(4.5))).....@resu
a49c0 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 lt{}.15.@end.group.@group.(-tree
a49e0 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f -reduce.'concat.'("strings".(".o
a4a00 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 20 6c 65 76 65 6c 73 22 29 29 29 29 0a 20 n".".various").((".levels"))))..
a4a20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 73 74 72 69 6e 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 ...@result{}."strings.on.various
a4a40 20 6c 65 76 65 6c 73 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 .levels".@end.group.@group.(--tr
a4a60 65 65 2d 72 65 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 69 74 29 20 28 63 ee-reduce.(cond.((stringp.it).(c
a4a80 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 28 6c 65 74 20 28 28 73 6e 20 oncat.it.".".acc)).(t.(let.((sn.
a4aa0 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 73 (symbol-name.it))).(concat."<".s
a4ac0 6e 20 22 3e 22 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 29 29 29 20 27 28 62 6f 64 79 n.">".acc."</".sn.">")))).'(body
a4ae0 20 28 70 20 22 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 20 22 6d 6f 72 65 22 20 28 62 .(p."some.words").(div."more".(b
a4b00 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ."bold")."words"))).....@result{
a4b20 7d 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 6f 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e }."<body><p>some.words</p>.<div>
a4b40 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f more.<b>bold</b>.words</div></bo
a4b60 64 79 3e 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e dy>".@end.group.@end.example.@en
a4b80 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 d.defun..@anchor{-tree-reduce-fr
a4ba0 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e om}.@defun.-tree-reduce-from.(fn
a4bc0 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 55 73 65 20 40 76 61 72 7b 66 6e 7d 20 74 .init-value.tree).Use.@var{fn}.t
a4be0 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 40 76 61 72 7b 74 o.reduce.elements.of.list.@var{t
a4c00 72 65 65 7d 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 ree}..If.elements.of.@var{tree}.
a4c20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 are.lists.themselves,.apply.the.
a4c40 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 40 76 61 72 7b 66 6e 7d reduction.recursively...@var{fn}
a4c60 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 2d 76 .is.first.applied.to.@var{init-v
a4c80 61 6c 75 65 7d 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c alue}.and.first.element.of.the.l
a4ca0 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 ist,.then.on.this.result.and.sec
a4cc0 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ond.element.from.the.list.etc...
a4ce0 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 The.initial.value.is.ignored.on.
a4d00 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 cons.pairs.as.they.always.contai
a4d20 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 n.two.elements...@example.@group
a4d40 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 .(-tree-reduce-from.'+.1.'(1.(1.
a4d60 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 38 0a 40 65 6e 64 20 1).((1)))).....@result{}.8.@end.
a4d80 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d group.@group.(--tree-reduce-from
a4da0 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 20 69 74 29 29 20 6e 69 6c 20 27 28 31 .(-concat.acc.(list.it)).nil.'(1
a4dc0 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .(2.3.(4.5)).(6.7))).....@result
a4de0 7b 7d 20 28 28 37 20 36 29 20 28 28 35 20 34 29 20 33 20 32 29 20 31 29 0a 40 65 6e 64 20 67 72 {}.((7.6).((5.4).3.2).1).@end.gr
a4e00 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
a4e20 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 74 72 chor{-tree-mapreduce}.@defun.-tr
a4e40 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 41 70 ee-mapreduce.(fn.folder.tree).Ap
a4e60 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 ply.@var{fn}.to.each.element.of.
a4e80 40 76 61 72 7b 74 72 65 65 7d 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 @var{tree},.and.make.a.list.of.t
a4ea0 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b he.results..If.elements.of.@var{
a4ec0 74 72 65 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c tree}.are.lists.themselves,.appl
a4ee0 79 20 40 76 61 72 7b 66 6e 7d 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e y.@var{fn}.recursively.to.elemen
a4f00 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 ts.of.these.nested.lists...Then.
a4f20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 reduce.the.resulting.lists.using
a4f40 20 40 76 61 72 7b 66 6f 6c 64 65 72 7d 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a .@var{folder}.and.initial.value.
a4f60 40 76 61 72 7b 69 6e 69 74 2d 76 61 6c 75 65 7d 2e 20 53 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 @var{init-value}..See.@code{-red
a4f80 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 uce-r-from}.(@pxref{-reduce-r-fr
a4fa0 6f 6d 7d 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 om})...This.is.the.same.as.calli
a4fc0 6e 67 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d ng.@code{-tree-reduce}.(@pxref{-
a4fe0 74 72 65 65 2d 72 65 64 75 63 65 7d 29 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d tree-reduce}).after.@code{-tree-
a5000 6d 61 70 7d 20 28 40 70 78 72 65 66 7b 2d 74 72 65 65 2d 6d 61 70 7d 29 0a 62 75 74 20 69 73 20 map}.(@pxref{-tree-map}).but.is.
a5020 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 twice.as.fast.as.it.only.travers
a5040 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a e.the.structure.once...@example.
a5060 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 @group.(-tree-mapreduce.'list.'a
a5080 70 70 65 6e 64 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 ppend.'(1.(2.(3.4).(5.6)).(7.(8.
a50a0 39 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 9)))).....@result{}.(1.2.3.4.5.6
a50c0 20 37 20 38 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 .7.8.9).@end.group.@group.(--tre
a50e0 65 2d 6d 61 70 72 65 64 75 63 65 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 e-mapreduce.1.(+.it.acc).'(1.(2.
a5100 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 40 72 65 (4.9).(2.1)).(7.(4.3)))).....@re
a5120 73 75 6c 74 7b 7d 20 39 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 sult{}.9.@end.group.@group.(--tr
a5140 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 29 29 ee-mapreduce.0.(max.acc.(1+.it))
a5160 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 .'(1.(2.(4.9).(2.1)).(7.(4.3))))
a5180 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 .....@result{}.3.@end.group.@end
a51a0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 .example.@end.defun..@anchor{-tr
a51c0 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d ee-mapreduce-from}.@defun.-tree-
a51e0 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 mapreduce-from.(fn.folder.init-v
a5200 61 6c 75 65 20 74 72 65 65 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 alue.tree).Apply.@var{fn}.to.eac
a5220 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 2c 20 61 6e 64 20 6d 61 6b h.element.of.@var{tree},.and.mak
a5240 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d e.a.list.of.the.results..If.elem
a5260 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 ents.of.@var{tree}.are.lists.the
a5280 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 72 65 63 75 72 73 69 76 mselves,.apply.@var{fn}.recursiv
a52a0 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 ely.to.elements.of.these.nested.
a52c0 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e lists...Then.reduce.the.resultin
a52e0 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 40 76 61 72 7b 66 6f 6c 64 65 72 7d 20 61 6e 64 20 69 g.lists.using.@var{folder}.and.i
a5300 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 40 76 61 72 7b 69 6e 69 74 2d 76 61 6c 75 65 7d 2e 20 53 nitial.value.@var{init-value}..S
a5320 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 ee.@code{-reduce-r-from}.(@pxref
a5340 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 {-reduce-r-from})...This.is.the.
a5360 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 72 65 64 75 same.as.calling.@code{-tree-redu
a5380 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 ce-from}.(@pxref{-tree-reduce-fr
a53a0 6f 6d 7d 29 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 6d 61 70 7d 20 28 40 70 78 om}).after.@code{-tree-map}.(@px
a53c0 72 65 66 7b 2d 74 72 65 65 2d 6d 61 70 7d 29 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 ref{-tree-map}).but.is.twice.as.
a53e0 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 fast.as.it.only.traverse.the.str
a5400 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d ucture.once...@example.@group.(-
a5420 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a tree-mapreduce-from.'identity.'*
a5440 20 31 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 .1.'(1.(2.(3.4).(5.6)).(7.(8.9))
a5460 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 36 32 38 38 30 0a 40 65 6e 64 20 67 72 6f )).....@result{}.362880.@end.gro
a5480 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d up.@group.(--tree-mapreduce-from
a54a0 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f 6e 73 20 69 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 .(+.it.it).(cons.it.acc).nil.'(1
a54c0 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 .(2.(4.9).(2.1)).(7.(4.3))))....
a54e0 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 .@result{}.(2.(4.(8.18).(4.2)).(
a5500 31 34 20 28 38 20 36 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 63 6f 14.(8.6))).@end.group.@group.(co
a5520 6e 63 61 74 20 22 40 7b 22 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d ncat."@{".(--tree-mapreduce-from
a5540 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 .(cond.((-cons-pair?.it).(concat
a5560 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 .(symbol-name.(car.it)).".->.".(
a5580 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 symbol-name.(cdr.it)))).(t.(conc
a55a0 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 20 22 20 3a 20 40 7b 22 29 29 29 20 28 at.(symbol-name.it).".:.@{"))).(
a55c0 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 65 71 75 61 6c 20 61 63 63 concat.it.(unless.(or.(equal.acc
a55e0 20 22 40 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 72 69 6e 67 20 69 74 20 28 31 2d 20 ."@}").(equal.(substring.it.(1-.
a5600 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 40 7b 22 29 29 20 22 2c 20 22 29 20 61 63 63 29 20 (length.it)))."@{")).",.").acc).
a5620 22 40 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 28 62 61 72 20 2e 20 62 "@}".'((elisp-mode.(foo.(bar...b
a5640 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 75 78 29 29 20 28 63 2d 6d 6f 64 65 20 28 66 6f 6f ooze)).(baz...qux)).(c-mode.(foo
a5660 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 62 61 6d 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 ...bla).(bum...bam))))).....@res
a5680 75 6c 74 7b 7d 20 22 40 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 40 7b 66 6f 6f 20 3a 20 40 7b ult{}."@{elisp-mode.:.@{foo.:.@{
a56a0 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 40 7d 2c 20 62 61 7a 20 2d 3e 20 71 75 78 40 7d 2c 20 63 2d bar.->.booze@},.baz.->.qux@},.c-
a56c0 6d 6f 64 65 20 3a 20 40 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 2d 3e 20 62 61 6d 40 mode.:.@{foo.->.bla,.bum.->.bam@
a56e0 7d 40 7d 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e }@}".@end.group.@end.example.@en
a5700 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6c 6f 6e 65 7d 0a 40 64 65 66 75 6e 20 d.defun..@anchor{-clone}.@defun.
a5720 2d 63 6c 6f 6e 65 20 28 6c 69 73 74 29 0a 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 -clone.(list).Create.a.deep.copy
a5740 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 .of.@var{list}..The.new.list.has
a5760 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 73 74 72 75 63 74 75 72 65 .the.same.elements.and.structure
a5780 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 0a 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 .but.all.cons.are.replaced.with.
a57a0 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 new.ones...This.is.useful.when.y
a57c0 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 0a 73 74 72 75 63 74 75 72 65 20 73 75 63 ou.need.to.clone.a.structure.suc
a57e0 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 h.as.plist.or.alist...@example.@
a5800 67 72 6f 75 70 0a 28 6c 65 74 2a 20 28 28 61 20 28 6c 69 73 74 20 28 6c 69 73 74 20 31 29 29 29 group.(let*.((a.(list.(list.1)))
a5820 20 28 62 20 28 2d 63 6c 6f 6e 65 20 61 29 29 29 20 28 73 65 74 63 61 72 20 28 63 61 72 20 61 29 .(b.(-clone.a))).(setcar.(car.a)
a5840 20 32 29 20 62 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 29 0a 40 65 6e 64 20 .2).b).....@result{}.((1)).@end.
a5860 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
a5880 6e 6f 64 65 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 40 73 65 63 74 69 6f 6e 20 54 node.Threading.macros.@section.T
a58a0 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e hreading.macros..Macros.that.con
a58c0 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 66 6f ditionally.combine.sequential.fo
a58e0 72 6d 73 20 66 6f 72 20 62 72 65 76 69 74 79 0a 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a rms.for.brevity.or.readability..
a5900 0a 40 61 6e 63 68 6f 72 7b 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 3e 20 28 78 20 26 6f 70 74 69 .@anchor{->}.@defmac.->.(x.&opti
a5920 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 54 68 72 65 61 64 20 74 68 65 onal.form.&rest.more).Thread.the
a5940 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 .expr.through.the.forms..Insert.
a5960 40 76 61 72 7b 78 7d 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 69 6e 20 74 68 @var{x}.as.the.second.item.in.th
a5980 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 e.first.form,.making.a.list.of.i
a59a0 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 t.if.it.is.not.a.list.already..I
a59c0 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 f.there.are.more.forms,.insert.t
a59e0 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e 64 20 69 74 65 6d he.first.form.as.the.second.item
a5a00 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a .in.second.form,.etc...@example.
a5a20 40 67 72 6f 75 70 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 @group.(->.'(2.3.5)).....@result
a5a40 7b 7d 20 28 32 20 33 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e {}.(2.3.5).@end.group.@group.(->
a5a60 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 .'(2.3.5).(append.'(8.13))).....
a5a80 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 35 20 38 20 31 33 29 0a 40 65 6e 64 20 67 72 6f 75 @result{}.(2.3.5.8.13).@end.grou
a5aa0 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 p.@group.(->.'(2.3.5).(append.'(
a5ac0 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 8.13)).(-slice.1.-1)).....@resul
a5ae0 74 7b 7d 20 28 33 20 35 20 38 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d t{}.(3.5.8).@end.group.@end.exam
a5b00 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 3e 3e 7d 0a 40 64 ple.@end.defmac..@anchor{->>}.@d
a5b20 65 66 6d 61 63 20 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 efmac.->>.(x.&optional.form.&res
a5b40 74 20 6d 6f 72 65 29 0a 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 t.more).Thread.the.expr.through.
a5b60 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 73 20 74 68 65 the.forms..Insert.@var{x}.as.the
a5b80 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 .last.item.in.the.first.form,.ma
a5ba0 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 king.a.list.of.it.if.it.is.not.a
a5bc0 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 .list.already..If.there.are.more
a5be0 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 .forms,.insert.the.first.form.as
a5c00 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 .the.last.item.in.second.form,.e
a5c20 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 tc...@example.@group.(->>.'(1.2.
a5c40 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 3).(-map.'square)).....@result{}
a5c60 20 28 31 20 34 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 .(1.4.9).@end.group.@group.(->>.
a5c80 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 6d 6f 76 65 '(1.2.3).(-map.'square).(-remove
a5ca0 20 27 65 76 65 6e 3f 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 39 29 0a 40 65 .'even?)).....@result{}.(1.9).@e
a5cc0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d nd.group.@group.(->>.'(1.2.3).(-
a5ce0 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 64 75 63 65 20 27 2b 29 29 0a 20 20 20 20 40 map.'square).(-reduce.'+)).....@
a5d00 72 65 73 75 6c 74 7b 7d 20 31 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d result{}.14.@end.group.@end.exam
a5d20 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 2d 3e 7d 0a 40 64 ple.@end.defmac..@anchor{-->}.@d
a5d40 65 66 6d 61 63 20 2d 2d 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 53 74 61 72 74 69 efmac.-->.(x.&rest.forms).Starti
a5d60 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 40 76 61 72 7b 78 7d 2c 20 74 68 ng.with.the.value.of.@var{x},.th
a5d80 72 65 61 64 20 65 61 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 40 76 61 read.each.expression.through.@va
a5da0 72 7b 66 6f 72 6d 73 7d 2e 0a 0a 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 74 20 74 68 65 r{forms}...Insert.@var{x}.at.the
a5dc0 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f .position.signified.by.the.symbo
a5de0 6c 20 40 63 6f 64 65 7b 69 74 7d 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 66 6f 72 6d 2e 20 20 l.@code{it}.in.the.first.form...
a5e00 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 If.there.are.more.forms,.insert.
a5e20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 0a 73 the.first.form.at.the.position.s
a5e40 69 67 6e 69 66 69 65 64 20 62 79 20 40 63 6f 64 65 7b 69 74 7d 20 69 6e 20 74 68 65 20 73 65 63 ignified.by.@code{it}.in.the.sec
a5e60 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a ond.form,.etc...@example.@group.
a5e80 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 (-->."def".(concat."abc".it."ghi
a5ea0 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 61 62 63 64 65 66 67 68 69 22 0a 40 65 ")).....@result{}."abcdefghi".@e
a5ec0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 nd.group.@group.(-->."def".(conc
a5ee0 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 0a at."abc".it."ghi").(upcase.it)).
a5f00 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 41 42 43 44 45 46 47 48 49 22 0a 40 65 6e 64 20 67 ....@result{}."ABCDEFGHI".@end.g
a5f20 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 roup.@group.(-->."def".(concat."
a5f40 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 63 61 73 65 29 0a 20 20 20 20 40 72 65 73 75 abc".it."ghi").upcase).....@resu
a5f60 6c 74 7b 7d 20 22 41 42 43 44 45 46 47 48 49 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 lt{}."ABCDEFGHI".@end.group.@end
a5f80 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 .example.@end.defmac..@anchor{-a
a5fa0 73 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 69 61 62 s->}.@defmac.-as->.(value.variab
a5fc0 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 le.&rest.forms).Starting.with.@v
a5fe0 61 72 7b 76 61 6c 75 65 7d 2c 20 74 68 72 65 61 64 20 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d ar{value},.thread.@var{variable}
a6000 20 74 68 72 6f 75 67 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 2e 0a 0a 49 6e 20 74 68 65 20 66 69 .through.@var{forms}...In.the.fi
a6020 72 73 74 20 66 6f 72 6d 2c 20 62 69 6e 64 20 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d 20 74 6f rst.form,.bind.@var{variable}.to
a6040 20 40 76 61 72 7b 76 61 6c 75 65 7d 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 .@var{value}...In.the.second.for
a6060 6d 2c 20 62 69 6e 64 0a 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d 20 74 6f 20 74 68 65 20 72 65 m,.bind.@var{variable}.to.the.re
a6080 73 75 6c 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 sult.of.the.first.form,.and.so.f
a60a0 6f 72 74 68 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 33 20 orth...@example.@group.(-as->.3.
a60c0 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 2d 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 72 29 my-var.(1+.my-var).(list.my-var)
a60e0 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 .(mapcar.(lambda.(ele).(*.2.ele)
a6100 29 20 6d 79 2d 76 61 72 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 38 29 0a 40 65 6e ).my-var)).....@result{}.(8).@en
a6120 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 d.group.@group.(-as->.3.my-var.1
a6140 2b 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 +).....@result{}.4.@end.group.@g
a6160 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 0a 20 20 20 20 40 72 65 73 75 6c roup.(-as->.3.my-var).....@resul
a6180 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 t{}.3.@end.group.@end.example.@e
a61a0 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 3e 7d 0a 40 64 65 66 nd.defmac..@anchor{-some->}.@def
a61c0 6d 61 63 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 mac.-some->.(x.&optional.form.&r
a61e0 65 73 74 20 6d 6f 72 65 29 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 est.more).When.expr.is.non-@code
a6200 7b 6e 69 6c 7d 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 {nil},.thread.it.through.the.fir
a6220 73 74 20 66 6f 72 6d 20 28 76 69 61 20 40 63 6f 64 65 7b 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d st.form.(via.@code{->}.(@pxref{-
a6240 3e 7d 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f >})),.and.when.that.result.is.no
a6260 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 n-@code{nil},.through.the.next.f
a6280 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d orm,.etc...@example.@group.(-som
a62a0 65 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 e->.'(2.3.5)).....@result{}.(2.3
a62c0 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 20 35 .5).@end.group.@group.(-some->.5
a62e0 20 73 71 75 61 72 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 35 0a 40 65 6e 64 20 67 .square).....@result{}.25.@end.g
a6300 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 73 71 75 roup.@group.(-some->.5.even?.squ
a6320 61 72 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 are).....@result{}.nil.@end.grou
a6340 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 p.@end.example.@end.defmac..@anc
a6360 68 6f 72 7b 2d 73 6f 6d 65 2d 3e 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 6f 6d 65 2d 3e 3e 20 28 hor{-some->>}.@defmac.-some->>.(
a6380 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 57 68 65 x.&optional.form.&rest.more).Whe
a63a0 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 74 68 72 65 61 64 n.expr.is.non-@code{nil},.thread
a63c0 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 .it.through.the.first.form.(via.
a63e0 40 63 6f 64 65 7b 2d 3e 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 3e 7d 29 29 2c 0a 61 6e 64 20 77 @code{->>}.(@pxref{->>})),.and.w
a6400 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c hen.that.result.is.non-@code{nil
a6420 7d 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a },.through.the.next.form,.etc...
a6440 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 32 20 @example.@group.(-some->>.'(1.2.
a6460 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 3).(-map.'square)).....@result{}
a6480 20 28 31 20 34 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d .(1.4.9).@end.group.@group.(-som
a64a0 65 2d 3e 3e 20 27 28 31 20 33 20 35 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 e->>.'(1.3.5).(-last.'even?).(+.
a64c0 31 30 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 100)).....@result{}.nil.@end.gro
a64e0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 20 34 20 36 29 20 28 2d 6c up.@group.(-some->>.'(2.4.6).(-l
a6500 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ast.'even?).(+.100)).....@result
a6520 7b 7d 20 31 30 36 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 {}.106.@end.group.@end.example.@
a6540 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 2d 3e 7d 0a 40 64 end.defmac..@anchor{-some-->}.@d
a6560 65 66 6d 61 63 20 2d 73 6f 6d 65 2d 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 efmac.-some-->.(expr.&rest.forms
a6580 29 0a 54 68 72 65 61 64 20 40 76 61 72 7b 65 78 70 72 7d 20 74 68 72 6f 75 67 68 20 40 76 61 72 ).Thread.@var{expr}.through.@var
a65a0 7b 66 6f 72 6d 73 7d 20 76 69 61 20 40 63 6f 64 65 7b 2d 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d {forms}.via.@code{-->}.(@pxref{-
a65c0 2d 3e 7d 29 2c 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 40 63 ->}),.while.the.result.is.non-@c
a65e0 6f 64 65 7b 6e 69 6c 7d 2e 0a 57 68 65 6e 20 40 76 61 72 7b 65 78 70 72 7d 20 65 76 61 6c 75 61 ode{nil}..When.@var{expr}.evalua
a6600 74 65 73 20 74 6f 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 74 68 72 65 61 64 20 74 68 tes.to.non-@code{nil},.thread.th
a6620 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 74 20 6f 66 20 40 76 e.result.through.the.first.of.@v
a6640 61 72 7b 66 6f 72 6d 73 7d 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 ar{forms},.and.when.that.result.
a6660 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 74 68 72 65 61 64 20 69 74 0a 74 68 72 is.non-@code{nil},.thread.it.thr
a6680 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 ough.the.next.form,.etc...@examp
a66a0 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 le.@group.(-some-->."def".(conca
a66c0 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d t."abc".it."ghi")).....@result{}
a66e0 20 22 61 62 63 64 65 66 67 68 69 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 ."abcdefghi".@end.group.@group.(
a6700 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 -some-->.nil.(concat."abc".it."g
a6720 68 69 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f hi")).....@result{}.nil.@end.gro
a6740 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 30 20 31 29 20 28 2d 72 65 6d up.@group.(-some-->.'(0.1).(-rem
a6760 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 69 74 29 ove.#'natnump.it).(append.it.it)
a6780 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .(-map.#'1+.it)).....@result{}.(
a67a0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
a67c0 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 6f 74 6f 7d 0a 40 64 65 66 6d 61 63 20 2d 64 efmac..@anchor{-doto}.@defmac.-d
a67e0 6f 74 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 45 76 61 6c 75 61 74 65 20 oto.(init.&rest.forms).Evaluate.
a6800 40 76 61 72 7b 69 6e 69 74 7d 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 @var{init}.and.pass.it.as.argume
a6820 6e 74 20 74 6f 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 3e 7d nt.to.@var{forms}.with.@code{->}
a6840 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 2e 0a 54 68 65 20 40 76 61 72 7b 72 65 73 75 6c 74 7d 20 .(@pxref{->})..The.@var{result}.
a6860 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 40 76 61 72 7b 69 6e 69 74 7d 20 69 73 20 74 68 72 65 of.evaluating.@var{init}.is.thre
a6880 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 20 40 76 61 72 7b 66 6f 72 6d 73 7d aded.through.each.of.@var{forms}
a68a0 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 2d 3e 7d 20 28 40 .individually.using.@code{->}.(@
a68c0 70 78 72 65 66 7b 2d 3e 7d 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 pxref{->}),.which.see...The.retu
a68e0 72 6e 20 76 61 6c 75 65 20 69 73 20 40 76 61 72 7b 72 65 73 75 6c 74 7d 2c 0a 77 68 69 63 68 20 rn.value.is.@var{result},.which.
a6900 40 76 61 72 7b 66 6f 72 6d 73 7d 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 20 62 79 @var{forms}.may.have.modified.by
a6920 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 .side.effect...@example.@group.(
a6940 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 20 20 20 -doto.(list.1.2.3).pop.pop).....
a6960 40 72 65 73 75 6c 74 7b 7d 20 28 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a @result{}.(3).@end.group.@group.
a6980 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 28 73 65 (-doto.(cons.1.2).(setcar.3).(se
a69a0 74 63 64 72 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 2e 20 34 29 0a 40 tcdr.4)).....@result{}.(3...4).@
a69c0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 67 65 74 68 61 73 68 20 27 6b 20 28 2d 2d end.group.@group.(gethash.'k.(--
a69e0 64 6f 74 6f 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 73 68 20 doto.(make-hash-table).(puthash.
a6a00 27 6b 20 27 76 20 69 74 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 76 0a 40 65 6e 64 'k.'v.it))).....@result{}.v.@end
a6a20 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a .group.@end.example.@end.defmac.
a6a40 0a 40 6e 6f 64 65 20 42 69 6e 64 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 42 69 6e 64 69 6e 67 0a .@node.Binding.@section.Binding.
a6a60 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 40 63 6f 64 65 7b 6c 65 74 7d 20 .Macros.that.combine.@code{let}.
a6a80 61 6e 64 20 40 63 6f 64 65 7b 6c 65 74 2a 7d 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 and.@code{let*}.with.destructuri
a6aa0 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e 74 72 6f 6c 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 77 ng.and.flow.control...@anchor{-w
a6ac0 68 65 6e 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 77 68 65 6e 2d 6c 65 74 20 28 28 76 61 72 hen-let}.@defmac.-when-let.((var
a6ae0 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 49 66 20 40 76 61 72 7b 76 61 6c 7d 20 65 .val).&rest.body).If.@var{val}.e
a6b00 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 62 69 6e 64 valuates.to.non-@code{nil},.bind
a6b20 20 69 74 20 74 6f 20 40 76 61 72 7b 76 61 72 7d 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 .it.to.@var{var}.and.execute.bod
a6b40 79 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 y...Note:.binding.is.done.accord
a6b60 69 6e 67 20 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d ing.to.@code{-let}.(@pxref{-let}
a6b80 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 )...@example.@group.(-when-let.(
a6ba0 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 match-index.(string-match."d"."a
a6bc0 62 63 64 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 32 29 29 0a 20 20 20 20 40 72 bcd")).(+.match-index.2)).....@r
a6be0 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 esult{}.5.@end.group.@group.(-wh
a6c00 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 en-let.((&plist.:foo.foo).(list.
a6c20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 :foo."foo")).foo).....@result{}.
a6c40 22 66 6f 6f 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c "foo".@end.group.@group.(-when-l
a6c60 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 et.((&plist.:foo.foo).(list.:bar
a6c80 20 22 62 61 72 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a ."bar")).foo).....@result{}.nil.
a6ca0 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
a6cc0 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 77 68 65 6e 2d 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 mac..@anchor{-when-let*}.@defmac
a6ce0 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 .-when-let*.(vars-vals.&rest.bod
a6d00 79 29 0a 49 66 20 61 6c 6c 20 40 76 61 72 7b 76 61 6c 73 7d 20 65 76 61 6c 75 61 74 65 20 74 6f y).If.all.@var{vals}.evaluate.to
a6d20 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 .true,.bind.them.to.their.corres
a6d40 70 6f 6e 64 69 6e 67 0a 40 76 61 72 7b 76 61 72 73 7d 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 ponding.@var{vars}.and.execute.b
a6d60 6f 64 79 2e 20 40 76 61 72 7b 76 61 72 73 2d 76 61 6c 73 7d 20 73 68 6f 75 6c 64 20 62 65 20 61 ody..@var{vars-vals}.should.be.a
a6d80 20 6c 69 73 74 20 6f 66 20 28 40 76 61 72 7b 76 61 72 7d 20 40 76 61 72 7b 76 61 6c 7d 29 0a 70 .list.of.(@var{var}.@var{val}).p
a6da0 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 airs...Note:.binding.is.done.acc
a6dc0 6f 72 64 69 6e 67 20 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 2a 7d 20 28 40 70 78 72 65 66 7b 2d ording.to.@code{-let*}.(@pxref{-
a6de0 6c 65 74 2a 7d 29 2e 20 20 40 76 61 72 7b 76 61 6c 73 7d 20 61 72 65 20 65 76 61 6c 75 61 74 65 let*})...@var{vals}.are.evaluate
a6e00 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 d.sequentially,.and.evaluation.s
a6e20 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 tops.after.the.first.@code{nil}.
a6e40 40 76 61 72 7b 76 61 6c 7d 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 40 65 78 61 6d @var{val}.is.encountered...@exam
a6e60 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 ple.@group.(-when-let*.((x.5).(y
a6e80 20 33 29 20 28 7a 20 28 2b 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 .3).(z.(+.y.4))).(+.x.y.z)).....
a6ea0 40 72 65 73 75 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 @result{}.15.@end.group.@group.(
a6ec0 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 -when-let*.((x.5).(y.nil).(z.7))
a6ee0 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 .(+.x.y.z)).....@result{}.nil.@e
a6f00 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 nd.group.@end.example.@end.defma
a6f20 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 66 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 69 66 2d c..@anchor{-if-let}.@defmac.-if-
a6f40 6c 65 74 20 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a let.((var.val).then.&rest.else).
a6f60 49 66 20 40 76 61 72 7b 76 61 6c 7d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 40 63 If.@var{val}.evaluates.to.non-@c
a6f80 6f 64 65 7b 6e 69 6c 7d 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 40 76 61 72 7b 76 61 72 7d 20 61 ode{nil},.bind.it.to.@var{var}.a
a6fa0 6e 64 20 64 6f 20 40 76 61 72 7b 74 68 65 6e 7d 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 40 nd.do.@var{then},.otherwise.do.@
a6fc0 76 61 72 7b 65 6c 73 65 7d 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e var{else}...Note:.binding.is.don
a6fe0 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 e.according.to.@code{-let}.(@pxr
a7000 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 66 ef{-let})...@example.@group.(-if
a7020 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 -let.(match-index.(string-match.
a7040 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 33 29 20 37 29 "d"."abc")).(+.match-index.3).7)
a7060 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.7.@end.group.@gro
a7080 75 70 0a 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a 20 up.(--if-let.(even?.4).it.nil)..
a70a0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 ...@result{}.t.@end.group.@end.e
a70c0 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 66 2d xample.@end.defmac..@anchor{-if-
a70e0 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 20 2d 69 66 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c let*}.@defmac.-if-let*.(vars-val
a7100 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 49 66 20 61 6c 6c 20 40 76 61 72 7b 76 s.then.&rest.else).If.all.@var{v
a7120 61 6c 73 7d 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d als}.evaluate.to.true,.bind.them
a7140 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 40 76 61 72 7b 76 61 72 .to.their.corresponding.@var{var
a7160 73 7d 20 61 6e 64 20 64 6f 20 40 76 61 72 7b 74 68 65 6e 7d 2c 20 6f 74 68 65 72 77 69 73 65 20 s}.and.do.@var{then},.otherwise.
a7180 64 6f 20 40 76 61 72 7b 65 6c 73 65 7d 2e 20 40 76 61 72 7b 76 61 72 73 2d 76 61 6c 73 7d 20 73 do.@var{else}..@var{vars-vals}.s
a71a0 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 28 40 76 61 72 7b 76 61 72 7d 20 40 76 hould.be.a.list.of.(@var{var}.@v
a71c0 61 72 7b 76 61 6c 7d 29 20 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 ar{val}).pairs...Note:.binding.i
a71e0 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 2a 7d s.done.according.to.@code{-let*}
a7200 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 2a 7d 29 2e 20 20 40 76 61 72 7b 76 61 6c 73 7d 20 61 72 .(@pxref{-let*})...@var{vals}.ar
a7220 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 e.evaluated.sequentially,.and.ev
a7240 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 40 aluation.stops.after.the.first.@
a7260 63 6f 64 65 7b 6e 69 6c 7d 20 40 76 61 72 7b 76 61 6c 7d 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 code{nil}.@var{val}.is.encounter
a7280 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 ed...@example.@group.(-if-let*.(
a72a0 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f (x.5).(y.3).(z.7)).(+.x.y.z)."fo
a72c0 6f 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a o").....@result{}.15.@end.group.
a72e0 40 67 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 @group.(-if-let*.((x.5).(y.nil).
a7300 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 0a 20 20 20 20 40 72 65 73 (z.7)).(+.x.y.z)."foo").....@res
a7320 75 6c 74 7b 7d 20 22 66 6f 6f 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d ult{}."foo".@end.group.@group.(-
a7340 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 5f 20 78 29 20 27 28 6e 69 6c 20 6e 69 6c 20 37 29 29 29 if-let*.(((_._.x).'(nil.nil.7)))
a7360 20 78 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 .x).....@result{}.7.@end.group.@
a7380 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 end.example.@end.defmac..@anchor
a73a0 7b 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 65 74 20 28 76 61 72 6c 69 73 74 20 26 72 65 {-let}.@defmac.-let.(varlist.&re
a73c0 73 74 20 62 6f 64 79 29 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e st.body).Bind.variables.accordin
a73e0 67 20 74 6f 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 74 68 65 6e 20 65 76 61 6c 20 40 76 61 g.to.@var{varlist}.then.eval.@va
a7400 72 7b 62 6f 64 79 7d 2e 0a 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 69 73 20 61 20 6c 69 73 r{body}...@var{varlist}.is.a.lis
a7420 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 40 76 61 72 7b 70 61 74 t.of.lists.of.the.form.(@var{pat
a7440 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 2e 20 20 45 61 63 68 0a 40 76 61 72 7b tern}.@var{source})...Each.@var{
a7460 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 pattern}.is.matched.against.the.
a7480 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 22 73 74 72 75 63 74 75 72 61 6c 6c 79 22 2e 20 20 40 76 @var{source}."structurally"...@v
a74a0 61 72 7b 73 6f 75 72 63 65 7d 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 ar{source}.is.only.evaluated.onc
a74c0 65 20 66 6f 72 20 65 61 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 20 20 45 61 63 68 20 e.for.each.@var{pattern}...Each.
a74e0 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 0a 72 65 63 75 72 73 69 @var{pattern}.is.matched.recursi
a7500 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e 20 vely,.and.can.therefore.contain.
a7520 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 20 61 72 65 0a 6d 61 74 63 68 65 64 20 61 sub-patterns.which.are.matched.a
a7540 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 73 73 gainst.corresponding.sub-express
a7560 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 2e 0a 0a 41 6c 6c 20 74 68 65 20 53 ions.of.@var{source}...All.the.S
a7580 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 73 79 OURCEs.are.evalled.before.any.sy
a75a0 6d 62 6f 6c 73 20 61 72 65 0a 62 6f 75 6e 64 20 28 69 2e 65 2e 20 22 69 6e 20 70 61 72 61 6c 6c mbols.are.bound.(i.e.."in.parall
a75c0 65 6c 22 29 2e 0a 0a 49 66 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 6f 6e 6c 79 20 63 6f 6e el")...If.@var{varlist}.only.con
a75e0 74 61 69 6e 73 20 6f 6e 65 20 28 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f tains.one.(@var{pattern}.@var{so
a7600 75 72 63 65 7d 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f 70 74 69 6f 6e 61 6c urce}).element,.you.can.optional
a7620 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f 72 20 61 6e 64 ly.specify.it.using.a.vector.and
a7640 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 74 20 70 61 72 65 6e .discarding.the.outer-most.paren
a7660 73 2e 20 20 54 68 75 73 0a 0a 20 20 28 2d 6c 65 74 20 28 28 40 76 61 72 7b 70 61 74 74 65 72 6e s...Thus....(-let.((@var{pattern
a7680 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 29 20 40 64 6f 74 73 7b 7d 29 0a 0a 62 65 63 6f 6d }.@var{source})).@dots{})..becom
a76a0 65 73 0a 0a 20 20 28 2d 6c 65 74 20 5b 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b es....(-let.[@var{pattern}.@var{
a76c0 73 6f 75 72 63 65 7d 5d 20 40 64 6f 74 73 7b 7d 29 2e 0a 0a 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 source}].@dots{})...@code{-let}.
a76e0 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e (@pxref{-let}).uses.a.convention
a7700 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 73 79 6d 62 6f 6c 73 29 .of.not.binding.places.(symbols)
a7720 20 73 74 61 72 74 69 6e 67 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 27 73 20 70 .starting.with._.whenever.it's.p
a7740 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 73 6b ossible...You.can.use.this.to.sk
a7760 69 70 20 6f 76 65 72 0a 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 74 20 63 61 72 65 20 61 ip.over.entries.you.don't.care.a
a7780 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 2a 61 6c 77 bout...However,.this.is.not.*alw
a77a0 61 79 73 2a 0a 70 6f 73 73 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 69 6d ays*.possible.(as.a.result.of.im
a77c0 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 plementation).and.these.symbols.
a77e0 6d 69 67 68 74 0a 67 65 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 61 6c might.get.bound.to.undefined.val
a7800 75 65 73 2e 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 ues...Following.is.the.overview.
a7820 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 of.supported.patterns...Remember
a7840 20 74 68 61 74 0a 70 61 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 .that.patterns.can.be.matched.re
a7860 63 75 72 73 69 76 65 6c 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 cursively,.so.every.a,.b,.aK.in.
a7880 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e 67 20 the.following.can.be.a.matching.
a78a0 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 0a construct.and.not.necessarily.a.
a78c0 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a 0a 0a 20 20 61 20 2d symbol/variable...Symbol:....a.-
a78e0 20 62 69 6e 64 20 74 68 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 74 6f 20 40 76 61 72 7b 61 .bind.the.@var{source}.to.@var{a
a7900 7d 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 72 20 40 63 }...This.is.just.like.regular.@c
a7920 6f 64 65 7b 6c 65 74 7d 2e 0a 0a 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 ode{let}...Conses.and.lists:....
a7940 28 61 29 20 2d 20 62 69 6e 64 20 40 63 6f 64 65 7b 63 61 72 7d 20 6f 66 20 63 6f 6e 73 2f 6c 69 (a).-.bind.@code{car}.of.cons/li
a7960 73 74 20 74 6f 20 40 76 61 72 7b 61 7d 0a 0a 20 20 28 61 20 2e 20 62 29 20 2d 20 62 69 6e 64 20 st.to.@var{a}....(a...b).-.bind.
a7980 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 40 76 61 72 7b 61 7d 20 61 6e 64 20 40 63 6f 64 65 car.of.cons.to.@var{a}.and.@code
a79a0 7b 63 64 72 7d 20 74 6f 20 40 76 61 72 7b 62 7d 0a 0a 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 {cdr}.to.@var{b}....(a.b).-.bind
a79c0 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 7d 20 61 6e 64 20 40 63 6f 64 .car.of.list.to.@var{a}.and.@cod
a79e0 65 7b 63 61 64 72 7d 20 74 6f 20 40 76 61 72 7b 62 7d 0a 0a 20 20 28 61 31 20 61 32 20 61 33 20 e{cadr}.to.@var{b}....(a1.a2.a3.
a7a00 40 64 6f 74 73 7b 7d 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 @dots{}).-.bind.0th.car.of.list.
a7a20 74 6f 20 40 76 61 72 7b 61 31 7d 2c 20 31 73 74 20 74 6f 20 40 76 61 72 7b 61 32 7d 2c 20 32 6e to.@var{a1},.1st.to.@var{a2},.2n
a7a40 64 20 74 6f 20 40 76 61 72 7b 61 33 7d 40 65 6e 64 64 6f 74 73 7b 7d 0a 0a 20 20 28 61 31 20 61 d.to.@var{a3}@enddots{}....(a1.a
a7a60 32 20 61 33 20 40 64 6f 74 73 7b 7d 20 61 4e 20 2e 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 2.a3.@dots{}.aN...rest).-.as.abo
a7a80 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 72 20 74 6f 20 40 76 61 72 ve,.but.bind.the.Nth.cdr.to.@var
a7aa0 7b 72 65 73 74 7d 2e 0a 0a 56 65 63 74 6f 72 73 3a 0a 0a 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 {rest}...Vectors:....[a].-.bind.
a7ac0 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 0th.element.of.a.non-list.sequen
a7ae0 63 65 20 74 6f 20 40 76 61 72 7b 61 7d 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 20 ce.to.@var{a}.(works.with.......
a7b00 20 20 76 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 40 64 ..vectors,.strings,.bit.arrays@d
a7b20 6f 74 73 7b 7d 29 0a 0a 20 20 5b 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 5d 20 2d 20 62 ots{})....[a1.a2.a3.@dots{}].-.b
a7b40 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 ind.0th.element.of.non-list.sequ
a7b60 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 61 30 7d 2c 20 31 73 74 20 74 6f 0a 20 20 20 20 20 20 20 ence.to.@var{a0},.1st.to........
a7b80 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b 61 31 7d 2c 20 32 6e 64 20 74 6f 20 40 76 61 ............@var{a1},.2nd.to.@va
a7ba0 72 7b 61 32 7d 2c 20 40 65 6e 64 64 6f 74 73 7b 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r{a2},.@enddots{}...............
a7bc0 20 20 20 20 20 49 66 20 74 68 65 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 73 68 6f .....If.the.@var{pattern}.is.sho
a7be0 72 74 65 72 20 74 68 61 6e 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 2c 20 74 68 65 20 76 61 6c 75 rter.than.@var{source},.the.valu
a7c00 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 es.at....................places.
a7c20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 61 72 65 20 69 67 6e 6f 72 65 64 not.in.@var{pattern}.are.ignored
a7c40 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 40 76 61 72 .....................If.the.@var
a7c60 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 40 76 61 72 7b 73 6f {pattern}.is.longer.than.@var{so
a7c80 75 72 63 65 7d 2c 20 61 6e 20 40 63 6f 64 65 7b 65 72 72 6f 72 7d 20 69 73 0a 20 20 20 20 20 20 urce},.an.@code{error}.is.......
a7ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 6e 2e 0a 0a 20 20 5b 61 31 20 61 32 20 61 .............thrown.....[a1.a2.a
a7cc0 33 20 40 64 6f 74 73 7b 7d 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d 20 61 73 20 61 62 6f 76 65 3.@dots{}.&rest.rest].-.as.above
a7ce0 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 ,.but.bind.the.rest.of..........
a7d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 73 65 71 75 65 6e 63 .....................the.sequenc
a7d20 65 20 74 6f 20 40 76 61 72 7b 72 65 73 74 7d 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 e.to.@var{rest}...This.is.......
a7d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 63 65 70 74 75 ........................conceptu
a7d60 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 0a 20 ally.the.same.as.improper.list..
a7d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 .............................mat
a7da0 63 68 69 6e 67 20 28 61 31 20 61 32 20 40 64 6f 74 73 7b 7d 20 61 4e 20 2e 20 72 65 73 74 29 0a ching.(a1.a2.@dots{}.aN...rest).
a7dc0 0a 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 20 28 26 70 6c 69 73 74 20 6b 65 .Key/value.stores:....(&plist.ke
a7de0 79 30 20 61 30 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 y0.a0.@dots{}.keyN.aN).-.bind.va
a7e00 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 lue.mapped.by.keyK.in.the.......
a7e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b ...........................@var{
a7e40 73 6f 75 72 63 65 7d 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 source}.plist.to.aK...If.the....
a7e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 ..............................va
a7e80 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 40 63 6f 64 65 7b 6e 69 lue.is.not.found,.aK.is.@code{ni
a7ea0 6c 7d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l}..............................
a7ec0 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 65 7b 70 6c 69 73 74 2d 67 65 74 7d 20 74 6f 20 66 65 .....Uses.@code{plist-get}.to.fe
a7ee0 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 40 tch.values.....(&alist.key0.a0.@
a7f00 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 dots{}.keyN.aN).-.bind.value.map
a7f20 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ped.by.keyK.in.the..............
a7f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d ....................@var{source}
a7f60 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 .alist.to.aK...If.the...........
a7f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 .......................value.is.
a7fa0 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 20 20 20 not.found,.aK.is.@code{nil}.....
a7fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 ..............................Us
a7fe0 65 73 20 40 63 6f 64 65 7b 61 73 73 6f 63 7d 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e es.@code{assoc}.to.fetch.values.
a8000 0a 0a 20 20 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 ....(&hash.key0.a0.@dots{}.keyN.
a8020 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 aN).-.bind.value.mapped.by.keyK.
a8040 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in.the..........................
a8060 20 20 20 20 20 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 68 61 73 68 20 74 61 62 6c 65 20 74 .......@var{source}.hash.table.t
a8080 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o.aK...If.the...................
a80a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 ..............value.is.not.found
a80c0 2c 20 61 4b 20 69 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ,.aK.is.@code{nil}..............
a80e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 65 7b 67 ....................Uses.@code{g
a8100 65 74 68 61 73 68 7d 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 46 75 72 74 68 65 ethash}.to.fetch.values...Furthe
a8120 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 70 6f 72 74 r,.special.keyword.&keys.support
a8140 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 70 6c 69 73 74 2d 6c 69 6b s."inline".matching.of.plist-lik
a8160 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 e.key-value.pairs,.similarly.to.
a8180 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 40 63 6f 64 65 7b 63 6c 2d 64 65 66 75 6e 7d &keys.keyword.of.@code{cl-defun}
a81a0 2e 0a 0a 20 20 28 61 31 20 61 32 20 40 64 6f 74 73 7b 7d 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 .....(a1.a2.@dots{}.aN.&keys.key
a81c0 31 20 62 31 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 1.b1.@dots{}.keyN.bK)..This.bind
a81e0 73 20 40 76 61 72 7b 6e 7d 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 s.@var{n}.values.from.the.list.t
a8200 6f 20 61 31 20 40 64 6f 74 73 7b 7d 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 o.a1.@dots{}.aN,.then.interprets
a8220 0a 74 68 65 20 63 64 72 20 61 73 20 61 20 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c .the.cdr.as.a.plist.(see.key/val
a8240 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f 76 65 29 2e 0a 0a 40 76 61 72 7b 61 7d 20 73 68 6f ue.matching.above)...@var{a}.sho
a8260 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 rthand.notation.for.kv-destructu
a8280 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 70 61 74 ring.exists.which.allows.the.pat
a82a0 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 terns.be.optionally.left.out.and
a82c0 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 74 68 .derived.from.the.key.name.in.th
a82e0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 68 69 6f 6e 3a 0a 0a 2d 20 61 20 6b 65 79 20 3a 66 e.following.fashion:..-.a.key.:f
a8300 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b 66 6f 6f 7d 20 oo.is.converted.into.@code{foo}.
a8320 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 27 62 61 72 20 69 73 20 63 6f 6e 76 65 72 74 pattern,.-.a.key.'bar.is.convert
a8340 65 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b 62 61 72 7d 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 ed.into.@code{bar}.pattern,.-.a.
a8360 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 40 63 6f 64 key."baz".is.converted.into.@cod
a8380 65 7b 62 61 7a 7d 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e e{baz}.pattern...That.is,.the.en
a83a0 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 6e tire.value.under.the.key.is.boun
a83c0 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 d.to.the.derived.variable.withou
a83e0 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 68 t.any.further.destructuring...Th
a8400 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 is.is.possible.only.when.the.for
a8420 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 6c m.following.the.key.is.not.a.val
a8440 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 id.pattern.(i.e..not.a.symbol,.a
a8460 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 69 .cons.cell.or.a.vector)..Otherwi
a8480 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 se.the.matching.proceeds.as.usua
a84a0 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 63 l.and.in.case.of.an.invalid.spec
a84c0 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 20 .fails.with.an.error...Thus.the.
a84e0 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c 6f patterns.are.normalized.as.follo
a8500 77 73 3a 0a 0a 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e ws:.....;;.derive.all.the.missin
a8520 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 g.patterns....(&plist.:foo.'bar.
a8540 22 62 61 7a 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 "baz").=>.(&plist.:foo.foo.'bar.
a8560 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 0a 0a 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 bar."baz".baz).....;;.we.can.spe
a8580 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c cify.some.but.not.others....(&pl
a85a0 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 ist.:foo.'bar.explicit-bar).=>.(
a85c0 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 &plist.:foo.foo.'bar.explicit-ba
a85e0 72 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 r).....;;.nothing.happens,.we.st
a8600 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 ore.:foo.in.x....(&plist.:foo.x)
a8620 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 .=>.(&plist.:foo.x).....;;.nothi
a8640 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 ng.happens,.we.match.recursively
a8660 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 ....(&plist.:foo.(a.b.c)).=>.(&p
a8680 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 list.:foo.(a.b.c))..You.can.name
a86a0 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 40 76 61 .the.source.using.the.syntax.@va
a86c0 72 7b 73 79 6d 62 6f 6c 7d 20 26 61 73 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 0a 54 68 69 r{symbol}.&as.@var{pattern}..Thi
a86e0 73 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 s.syntax.works.with.lists.(prope
a8700 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 0a 61 6c 6c 20 r.or.improper),.vectors.and.all.
a8720 74 79 70 65 73 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 types.of.maps.....(list.&as.a.b.
a8740 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 61 7d 20 74 c).(list.1.2.3)..binds.@var{a}.t
a8760 6f 20 31 2c 20 40 76 61 72 7b 62 7d 20 74 6f 20 32 2c 20 40 76 61 72 7b 63 7d 20 74 6f 20 33 20 o.1,.@var{b}.to.2,.@var{c}.to.3.
a8780 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 and.@var{list}.to.(1.2.3)...Simi
a87a0 6c 61 72 6c 79 3a 0a 0a 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 larly:....(bounds.&as.beg...end)
a87c0 20 28 63 6f 6e 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 62 65 67 7d 20 74 6f 20 .(cons.1.2)..binds.@var{beg}.to.
a87e0 31 2c 20 40 76 61 72 7b 65 6e 64 7d 20 74 6f 20 32 20 61 6e 64 20 40 76 61 72 7b 62 6f 75 6e 64 1,.@var{end}.to.2.and.@var{bound
a8800 73 7d 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a 0a 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 s}.to.(1...2).....(items.&as.fir
a8820 73 74 20 2e 20 72 65 73 74 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 40 st...rest).(list.1.2.3)..binds.@
a8840 76 61 72 7b 66 69 72 73 74 7d 20 74 6f 20 31 2c 20 40 76 61 72 7b 72 65 73 74 7d 20 74 6f 20 28 var{first}.to.1,.@var{rest}.to.(
a8860 32 20 33 29 20 61 6e 64 20 40 76 61 72 7b 69 74 65 6d 73 7d 20 74 6f 20 28 31 20 32 20 33 29 0a 2.3).and.@var{items}.to.(1.2.3).
a8880 0a 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 62 69 6e ...[vect.&as._.b.c].[1.2.3]..bin
a88a0 64 73 20 40 76 61 72 7b 62 7d 20 74 6f 20 32 2c 20 40 76 61 72 7b 63 7d 20 74 6f 20 33 20 61 6e ds.@var{b}.to.2,.@var{c}.to.3.an
a88c0 64 20 40 76 61 72 7b 76 65 63 74 7d 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 d.@var{vect}.to.[1.2.3].(_.avoid
a88e0 73 20 62 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 28 70 6c 69 73 74 20 26 s.binding.as.usual).....(plist.&
a8900 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 as.&plist.:b.b).(list.:a.1.:b.2.
a8920 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 62 7d 20 74 6f 20 32 20 61 6e 64 20 40 76 :c.3)..binds.@var{b}.to.2.and.@v
a8940 61 72 7b 70 6c 69 73 74 7d 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 ar{plist}.to.(:a.1.:b.2.:c.3)...
a8960 53 61 6d 65 20 66 6f 72 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 Same.for.&alist.and.&hash...This
a8980 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 .is.especially.useful.when.we.wa
a89a0 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f nt.to.capture.the.result.of.a.co
a89c0 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 mputation.and.destructure.at.the
a89e0 20 73 61 6d 65 20 74 69 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 .same.time...Consider.the.form.(
a8a00 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 function-returning-complex-struc
a8a20 74 75 72 65 29 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 ture).returning.a.list.of.two.ve
a8a40 63 74 6f 72 73 20 77 69 74 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 ctors.with.two.items.each...We.w
a8a60 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c ant.to.capture.this.entire.resul
a8a80 74 20 61 6e 64 20 70 61 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 t.and.pass.it.to.another.computa
a8aa0 74 69 6f 6e 2c 20 62 75 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 tion,.but.at.the.same.time.we.wa
a8ac0 6e 74 20 74 6f 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 nt.to.get.the.second.item.from.e
a8ae0 61 63 68 20 76 65 63 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 ach.vector...We.can.achieve.it.w
a8b00 69 74 68 20 70 61 74 74 65 72 6e 0a 0a 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d ith.pattern....(result.&as.[_.a]
a8b20 20 5b 5f 20 62 5d 29 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 .[_.b]).(function-returning-comp
a8b40 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 lex-structure)..Note:.Clojure.pr
a8b60 6f 67 72 61 6d 6d 65 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 ogrammers.may.know.this.feature.
a8b80 61 73 20 74 68 65 20 22 3a 61 73 0a 62 69 6e 64 69 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 as.the.":as.binding"...The.diffe
a8ba0 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 rence.is.that.we.put.the.&as.at.
a8bc0 74 68 65 20 66 72 6f 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 the.front.because.we.need.to.sup
a8be0 70 6f 72 74 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 40 65 78 port.improper.list.binding...@ex
a8c00 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d ample.@group.(-let.(([a.(b.c).d]
a8c20 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 .[1.(2.3).4])).(list.a.b.c.d))..
a8c40 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 ...@result{}.(1.2.3.4).@end.grou
a8c60 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 p.@group.(-let.[(a.b.c...d).(lis
a8c80 74 20 31 20 32 20 33 20 34 20 35 20 36 29 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a t.1.2.3.4.5.6)].(list.a.b.c.d)).
a8ca0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 40 65 ....@result{}.(1.2.3.(4.5.6)).@e
a8cc0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a nd.group.@group.(-let.[(&plist.:
a8ce0 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 61 72 29 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a foo.foo.:bar.bar).(list.:baz.3.:
a8d00 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a 62 61 72 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 foo.1.:qux.4.:bar.2)].(list.foo.
a8d20 62 61 72 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 bar)).....@result{}.(1.2).@end.g
a8d40 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
a8d60 61 6e 63 68 6f 72 7b 2d 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 65 74 2a 20 28 76 61 72 anchor{-let*}.@defmac.-let*.(var
a8d80 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 list.&rest.body).Bind.variables.
a8da0 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 74 68 65 6e 20 according.to.@var{varlist}.then.
a8dc0 65 76 61 6c 20 40 76 61 72 7b 62 6f 64 79 7d 2e 0a 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 eval.@var{body}...@var{varlist}.
a8de0 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 is.a.list.of.lists.of.the.form.(
a8e00 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 2e 20 20 45 61 @var{pattern}.@var{source})...Ea
a8e20 63 68 0a 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 ch.@var{pattern}.is.matched.agai
a8e40 6e 73 74 20 74 68 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 73 74 72 75 63 74 75 72 61 6c 6c nst.the.@var{source}.structurall
a8e60 79 2e 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 69 73 0a 6f 6e 6c 79 20 65 76 61 6c 75 61 74 y...@var{source}.is.only.evaluat
a8e80 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 0a ed.once.for.each.@var{pattern}..
a8ea0 0a 45 61 63 68 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 .Each.@var{source}.can.refer.to.
a8ec0 74 68 65 20 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 the.symbols.already.bound.by.thi
a8ee0 73 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c s.@var{varlist}...This.is.useful
a8f00 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 40 76 61 72 .if.you.want.to.destructure.@var
a8f20 7b 73 6f 75 72 63 65 7d 0a 72 65 63 75 72 73 69 76 65 6c 79 20 62 75 74 20 61 6c 73 6f 20 77 61 {source}.recursively.but.also.wa
a8f40 6e 74 20 74 6f 20 6e 61 6d 65 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 nt.to.name.the.intermediate.stru
a8f60 63 74 75 72 65 73 2e 0a 0a 53 65 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 ctures...See.@code{-let}.(@pxref
a8f80 7b 2d 6c 65 74 7d 29 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 {-let}).for.the.list.of.all.poss
a8fa0 69 62 6c 65 20 70 61 74 74 65 72 6e 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a ible.patterns...@example.@group.
a8fc0 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 (-let*.(((a...b).(cons.1.2)).((c
a8fe0 20 2e 20 64 29 20 28 63 6f 6e 73 20 33 20 34 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 ...d).(cons.3.4))).(list.a.b.c.d
a9000 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 )).....@result{}.(1.2.3.4).@end.
a9020 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 group.@group.(-let*.(((a...b).(c
a9040 6f 6e 73 20 31 20 28 63 6f 6e 73 20 32 20 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 ons.1.(cons.2.3))).((c...d).b)).
a9060 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 (list.a.b.c.d)).....@result{}.(1
a9080 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .(2...3).2.3).@end.group.@group.
a90a0 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c 69 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 (-let*.(((&alist."foo".foo."bar"
a90c0 20 62 61 72 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 .bar).(list.(cons."foo".1).(cons
a90e0 20 22 62 61 72 22 20 28 6c 69 73 74 20 27 61 20 27 62 20 27 63 29 29 29 29 20 28 28 61 20 62 20 ."bar".(list.'a.'b.'c)))).((a.b.
a9100 63 29 20 62 61 72 29 29 20 28 6c 69 73 74 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 29 29 0a 20 c).bar)).(list.foo.a.b.c.bar))..
a9120 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 40 ...@result{}.(1.a.b.c.(a.b.c)).@
a9140 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d end.group.@end.example.@end.defm
a9160 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 61 6d 62 64 61 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 61 ac..@anchor{-lambda}.@defmac.-la
a9180 6d 62 64 61 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 52 65 74 mbda.(match-form.&rest.body).Ret
a91a0 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 72 65 73 20 urn.a.lambda.which.destructures.
a91c0 69 74 73 20 69 6e 70 75 74 20 61 73 20 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 61 6e its.input.as.@var{match-form}.an
a91e0 64 20 65 78 65 63 75 74 65 73 20 40 76 61 72 7b 62 6f 64 79 7d 2e 0a 0a 4e 6f 74 65 20 74 68 61 d.executes.@var{body}...Note.tha
a9200 74 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 40 76 61 72 7b 6d t.you.have.to.enclose.the.@var{m
a9220 61 74 63 68 2d 66 6f 72 6d 7d 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a atch-form}.in.a.pair.of.parens,.
a9240 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 such.that:....(-lambda.(x).body)
a9260 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 40 64 6f 74 73 7b 7d 29 20 62 6f 64 79 29 0a ...(-lambda.(x.y.@dots{}).body).
a9280 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 40 63 6f 64 .has.the.usual.semantics.of.@cod
a92a0 65 7b 6c 61 6d 62 64 61 7d 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 e{lambda}...Furthermore,.these.g
a92c0 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 40 63 6f 64 65 7b et.translated.into.normal.@code{
a92e0 6c 61 6d 62 64 61 7d 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 lambda},.so.there.is.no.performa
a9300 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 nce.penalty...See.@code{-let}.(@
a9320 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f pxref{-let}).for.a.description.o
a9340 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a f.the.destructuring.mechanism...
a9360 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 @example.@group.(-map.(-lambda.(
a9380 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 (x.y)).(+.x.y)).'((1.2).(3.4).(5
a93a0 20 36 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 37 20 31 31 29 0a 40 65 6e .6))).....@result{}.(3.7.11).@en
a93c0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b d.group.@group.(-map.(-lambda.([
a93e0 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 x.y]).(+.x.y)).'([1.2].[3.4].[5.
a9400 36 5d 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 37 20 31 31 29 0a 40 65 6e 64 6])).....@result{}.(3.7.11).@end
a9420 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 .group.@group.(funcall.(-lambda.
a9440 28 28 5f 20 2e 20 61 29 20 28 5f 20 2e 20 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 62 29 29 ((_...a).(_...b)).(-concat.a.b))
a9460 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .'(1.2.3).'(4.5.6)).....@result{
a9480 7d 20 28 32 20 33 20 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d }.(2.3.5.6).@end.group.@end.exam
a94a0 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 74 71 7d 0a ple.@end.defmac..@anchor{-setq}.
a94c0 40 64 65 66 6d 61 63 20 2d 73 65 74 71 20 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 @defmac.-setq.([match-form.val].
a94e0 2e 2e 2e 29 0a 42 69 6e 64 20 65 61 63 68 20 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 ...).Bind.each.@var{match-form}.
a9500 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 40 76 61 72 7b 76 61 6c 7d 2e 0a 0a to.the.value.of.its.@var{val}...
a9520 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 @var{match-form}.destructuring.i
a9540 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 s.done.according.to.the.rules.of
a9560 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a 54 68 .@code{-let}.(@pxref{-let})...Th
a9580 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 is.macro.allows.you.to.bind.mult
a95a0 69 70 6c 65 20 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a iple.variables.by.destructuring.
a95c0 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 2d the.value,.so.for.example:....(-
a95e0 73 65 74 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 setq.(a.b).x..........(&plist.:c
a9600 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 .c).plist)..expands.roughly.spea
a9620 6b 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 28 73 king.to.the.following.code....(s
a9640 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 20 20 20 20 20 62 20 28 63 61 64 72 20 78 29 etq.a.(car.x).........b.(cadr.x)
a9660 0a 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 .........c.(plist-get.plist.:c))
a9680 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 ..Care.is.taken.to.only.evaluate
a96a0 20 65 61 63 68 20 40 76 61 72 7b 76 61 6c 7d 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 .each.@var{val}.once.so.that.in.
a96c0 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 case.of.multiple.assignments.it.
a96e0 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 does.not.cause.unexpected.side.e
a9700 66 66 65 63 74 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 61 ffects...@example.@group.(let.(a
a9720 29 20 28 2d 73 65 74 71 20 61 20 31 29 20 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 ).(-setq.a.1).a).....@result{}.1
a9740 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 61 20 62 29 20 28 2d .@end.group.@group.(let.(a.b).(-
a9760 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 61 20 62 setq.(a.b).(list.1.2)).(list.a.b
a9780 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(1.2).@end.grou
a97a0 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 6c 69 73 74 p.@group.(let.(c).(-setq.(&plist
a97c0 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 29 0a 20 20 20 20 40 72 65 .:c.c).(list.:c."c")).c).....@re
a97e0 73 75 6c 74 7b 7d 20 22 63 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 sult{}."c".@end.group.@end.examp
a9800 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 6e 6f 64 65 20 53 69 64 65 20 65 66 66 65 63 le.@end.defmac..@node.Side.effec
a9820 74 73 0a 40 73 65 63 74 69 6f 6e 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 0a 46 75 6e 63 74 69 ts.@section.Side.effects..Functi
a9840 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 69 64 ons.iterating.over.lists.for.sid
a9860 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 7d 0a 40 e.effect.only...@anchor{-each}.@
a9880 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b defun.-each.(list.fn).Call.@var{
a98a0 66 6e 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 fn}.on.each.element.of.@var{list
a98c0 7d 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 3b 20 74 68 69 73 20 66 75 6e 63 74 }..Return.@code{nil};.this.funct
a98e0 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 ion.is.intended.for.side.effects
a9900 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 ...Its.anaphoric.counterpart.is.
a9920 40 63 6f 64 65 7b 2d 2d 65 61 63 68 7d 2e 0a 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 @code{--each}...For.access.to.th
a9940 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 40 76 61 e.current.element's.index.in.@va
a9960 72 7b 6c 69 73 74 7d 2c 20 73 65 65 0a 40 63 6f 64 65 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 r{list},.see.@code{-each-indexed
a9980 7d 20 28 40 70 78 72 65 66 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 29 2e 0a 0a 40 65 78 61 }.(@pxref{-each-indexed})...@exa
a99a0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 mple.@group.(let.(l).(-each.'(1.
a99c0 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 2.3).(lambda.(x).(push.x.l))).l)
a99e0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 .....@result{}.(3.2.1).@end.grou
a9a00 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 p.@group.(let.(l).(--each.'(1.2.
a9a20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 3).(push.it.l)).l).....@result{}
a9a40 20 28 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 61 63 .(3.2.1).@end.group.@group.(-eac
a9a60 68 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 20 20 20 40 72 65 73 75 h.'(1.2.3).#'identity).....@resu
a9a80 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 lt{}.nil.@end.group.@end.example
a9aa0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 2d 77 68 69 6c 65 .@end.defun..@anchor{-each-while
a9ac0 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 }.@defun.-each-while.(list.pred.
a9ae0 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 40 76 61 72 7b 69 fn).Call.@var{fn}.on.each.@var{i
a9b00 74 65 6d 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 77 68 69 6c 65 20 28 40 76 61 72 7b tem}.in.@var{list},.while.(@var{
a9b20 70 72 65 64 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e pred}.@var{item}).is.non-@code{n
a9b40 69 6c 7d 2e 0a 4f 6e 63 65 20 61 6e 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 73 20 72 65 61 63 68 il}..Once.an.@var{item}.is.reach
a9b60 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 ed.for.which.@var{pred}.returns.
a9b80 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 40 76 61 72 7b 66 6e 7d 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 @code{nil},.@var{fn}.is.no.longe
a9ba0 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 3b 20 74 68 r.called...Return.@code{nil};.th
a9bc0 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 is.function.is.intended.for.side
a9be0 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 .effects...Its.anaphoric.counter
a9c00 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d 77 68 69 6c 65 7d 2e 0a 0a 40 65 part.is.@code{--each-while}...@e
a9c20 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 xample.@group.(let.(l).(-each-wh
a9c40 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 ile.'(2.4.5.6).#'even?.(lambda.(
a9c60 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d x).(push.x.l))).l).....@result{}
a9c80 20 28 34 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c .(4.2).@end.group.@group.(let.(l
a9ca0 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3c 20 69 74 ).(--each-while.'(1.2.3.4).(<.it
a9cc0 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .3).(push.it.l)).l).....@result{
a9ce0 7d 20 28 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 }.(2.1).@end.group.@group.(let.(
a9d00 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 33 20 34 20 35 29 20 (s.0)).(--each-while.'(1.3.4.5).
a9d20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 (<.it.5).(setq.s.(+.s.it))).s)..
a9d40 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 ...@result{}.8.@end.group.@end.e
a9d60 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 xample.@end.defun..@anchor{-each
a9d80 2d 69 6e 64 65 78 65 64 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 -indexed}.@defun.-each-indexed.(
a9da0 6c 69 73 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 69 list.fn).Call.@var{fn}.on.each.i
a9dc0 6e 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a ndex.and.element.of.@var{list}..
a9de0 46 6f 72 20 65 61 63 68 20 40 76 61 72 7b 69 74 65 6d 7d 20 61 74 20 40 76 61 72 7b 69 6e 64 65 For.each.@var{item}.at.@var{inde
a9e00 78 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 x}.in.@var{list},.call.(funcall.
a9e20 40 76 61 72 7b 66 6e 7d 20 40 76 61 72 7b 69 6e 64 65 78 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 @var{fn}.@var{index}.@var{item})
a9e40 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 3b 20 74 68 69 73 20 66 75 6e 63 74 69 ..Return.@code{nil};.this.functi
a9e60 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e on.is.intended.for.side.effects.
a9e80 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 20 ..See.also:.@code{-map-indexed}.
a9ea0 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c (@pxref{-map-indexed})...@exampl
a9ec0 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e.@group.(let.(l).(-each-indexed
a9ee0 20 27 28 61 20 62 20 63 29 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c .'(a.b.c).(lambda.(i.x).(push.(l
a9f00 69 73 74 20 78 20 69 29 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 ist.x.i).l))).l).....@result{}.(
a9f20 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 (c.2).(b.1).(a.0)).@end.group.@g
a9f40 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 roup.(let.(l).(--each-indexed.'(
a9f60 61 20 62 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 a.b.c).(push.(list.it.it-index).
a9f80 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 63 20 32 29 20 28 62 20 31 l)).l).....@result{}.((c.2).(b.1
a9fa0 29 20 28 61 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 ).(a.0)).@end.group.@group.(let.
a9fc0 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 29 20 28 70 75 73 68 20 69 74 20 (l).(--each-indexed.().(push.it.
a9fe0 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f l)).l).....@result{}.().@end.gro
aa000 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
aa020 68 6f 72 7b 2d 65 61 63 68 2d 72 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 hor{-each-r}.@defun.-each-r.(lis
aa040 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d t.fn).Call.@var{fn}.on.each.elem
aa060 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 ent.of.@var{list}.in.reversed.or
aa080 64 65 72 2e 0a 52 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 3b 20 74 68 69 73 20 66 75 6e der..Return.@code{nil};.this.fun
aa0a0 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 ction.is.intended.for.side.effec
aa0c0 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 ts...Its.anaphoric.counterpart.i
aa0e0 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d 72 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 s.@code{--each-r}...@example.@gr
aa100 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 oup.(let.(l).(-each-r.'(1.2.3).(
aa120 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 lambda.(x).(push.x.l))).l).....@
aa140 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f result{}.(1.2.3).@end.group.@gro
aa160 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 up.(let.(l).(--each-r.'(1.2.3).(
aa180 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 push.it.l)).l).....@result{}.(1.
aa1a0 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 61 63 68 2d 72 20 2.3).@end.group.@group.(-each-r.
aa1c0 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 20 20 20 40 72 65 73 75 6c 74 '(1.2.3).#'identity).....@result
aa1e0 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 {}.nil.@end.group.@end.example.@
aa200 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 end.defun..@anchor{-each-r-while
aa220 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 }.@defun.-each-r-while.(list.pre
aa240 64 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 40 76 61 72 d.fn).Call.@var{fn}.on.each.@var
aa260 7b 69 74 65 6d 7d 20 69 6e 20 72 65 76 65 72 73 65 64 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 77 {item}.in.reversed.@var{list},.w
aa280 68 69 6c 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 20 69 73 20 hile.(@var{pred}.@var{item}).is.
aa2a0 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 4f 6e 63 65 20 61 6e 20 40 76 61 72 7b 69 74 65 non-@code{nil}..Once.an.@var{ite
aa2c0 6d 7d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 m}.is.reached.for.which.@var{pre
aa2e0 64 7d 20 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 40 76 61 72 7b 66 6e 7d 20 d}.returns.@code{nil},.@var{fn}.
aa300 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 40 63 6f is.no.longer.called...Return.@co
aa320 64 65 7b 6e 69 6c 7d 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 de{nil};.this.function.is.intend
aa340 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f ed.for.side.effects...Its.anapho
aa360 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d ric.counterpart.is.@code{--each-
aa380 72 2d 77 68 69 6c 65 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 r-while}...@example.@group.(let.
aa3a0 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 (l).(-each-r-while.'(2.4.5.6).#'
aa3c0 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c even?.(lambda.(x).(push.x.l))).l
aa3e0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.(6).@end.group.@
aa400 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 group.(let.(l).(--each-r-while.'
aa420 28 31 20 32 20 33 20 34 29 20 28 3e 3d 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 (1.2.3.4).(>=.it.3).(push.it.l))
aa440 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f .l).....@result{}.(3.4).@end.gro
aa460 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 72 up.@group.(let.((s.0)).(--each-r
aa480 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 28 73 65 74 71 -while.'(1.2.3.5).(>.it.1).(setq
aa4a0 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 .s.(+.s.it))).s).....@result{}.1
aa4c0 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 0.@end.group.@end.example.@end.d
aa4e0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 6f 74 69 6d 65 73 7d 0a 40 64 65 66 75 6e 20 2d efun..@anchor{-dotimes}.@defun.-
aa500 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 40 dotimes.(num.fn).Call.@var{fn}.@
aa520 76 61 72 7b 6e 75 6d 7d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 var{num}.times,.presumably.for.s
aa540 69 64 65 20 65 66 66 65 63 74 73 2e 0a 40 76 61 72 7b 66 6e 7d 20 69 73 20 63 61 6c 6c 65 64 20 ide.effects..@var{fn}.is.called.
aa560 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 with.a.single.argument.on.succes
aa580 73 69 76 65 20 69 6e 74 65 67 65 72 73 0a 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e sive.integers.running.from.0,.in
aa5a0 63 6c 75 73 69 76 65 2c 20 74 6f 20 40 76 61 72 7b 6e 75 6d 7d 2c 20 65 78 63 6c 75 73 69 76 65 clusive,.to.@var{num},.exclusive
aa5c0 2e 20 20 40 76 61 72 7b 66 6e 7d 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 40 76 61 ...@var{fn}.is.not.called.if.@va
aa5e0 72 7b 6e 75 6d 7d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 20 66 75 6e r{num}.is.less.than.1...This.fun
aa600 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ction's.anaphoric.counterpart.is
aa620 20 40 63 6f 64 65 7b 2d 2d 64 6f 74 69 6d 65 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 .@code{--dotimes}...@example.@gr
aa640 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 6c 61 6d 62 64 61 oup.(let.(s).(-dotimes.3.(lambda
aa660 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .(n).(push.n.s))).s).....@result
aa680 7b 7d 20 28 32 20 31 20 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 {}.(2.1.0).@end.group.@group.(le
aa6a0 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 t.(s).(-dotimes.0.(lambda.(n).(p
aa6c0 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 ush.n.s))).s).....@result{}.().@
aa6e0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 28 2d 2d 64 6f 74 end.group.@group.(let.(s).(--dot
aa700 69 6d 65 73 20 35 20 28 70 75 73 68 20 69 74 20 73 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 imes.5.(push.it.s)).s).....@resu
aa720 6c 74 7b 7d 20 28 34 20 33 20 32 20 31 20 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 lt{}.(4.3.2.1.0).@end.group.@end
aa740 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 44 65 73 74 72 .example.@end.defun..@node.Destr
aa760 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 44 65 73 74 72 uctive.operations.@section.Destr
aa780 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d uctive.operations..Macros.that.m
aa7a0 6f 64 69 66 79 20 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a odify.variables.holding.lists...
aa7c0 40 61 6e 63 68 6f 72 7b 21 63 6f 6e 73 7d 0a 40 64 65 66 6d 61 63 20 21 63 6f 6e 73 20 28 63 61 @anchor{!cons}.@defmac.!cons.(ca
aa7e0 72 20 63 64 72 29 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 40 76 61 72 7b 63 64 72 r.cdr).Destructive:.Set.@var{cdr
aa800 7d 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 40 76 61 72 7b 63 61 72 7d 20 61 6e 64 20 40 }.to.the.cons.of.@var{car}.and.@
aa820 76 61 72 7b 63 64 72 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 var{cdr}...@example.@group.(let.
aa840 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d (l).(!cons.5.l).l).....@result{}
aa860 20 28 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 .(5).@end.group.@group.(let.((l.
aa880 27 28 33 29 29 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c '(3))).(!cons.5.l).l).....@resul
aa8a0 74 7b 7d 20 28 35 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c t{}.(5.3).@end.group.@end.exampl
aa8c0 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 21 63 64 72 7d 0a 40 64 65 e.@end.defmac..@anchor{!cdr}.@de
aa8e0 66 6d 61 63 20 21 63 64 72 20 28 6c 69 73 74 29 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 fmac.!cdr.(list).Destructive:.Se
aa900 74 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 40 76 61 72 7b t.@var{list}.to.the.cdr.of.@var{
aa920 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c list}...@example.@group.(let.((l
aa940 20 27 28 33 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .'(3))).(!cdr.l).l).....@result{
aa960 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 }.().@end.group.@group.(let.((l.
aa980 27 28 33 20 35 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 '(3.5))).(!cdr.l).l).....@result
aa9a0 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 {}.(5).@end.group.@end.example.@
aa9c0 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 end.defmac..@node.Function.combi
aa9e0 6e 61 74 6f 72 73 0a 40 73 65 63 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 nators.@section.Function.combina
aaa00 74 6f 72 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 tors..Functions.that.manipulate.
aaa20 61 6e 64 20 63 6f 6d 70 6f 73 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 40 61 and.compose.other.functions...@a
aaa40 6e 63 68 6f 72 7b 2d 70 61 72 74 69 61 6c 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 61 6c 20 nchor{-partial}.@defun.-partial.
aaa60 28 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 (fun.&rest.args).Return.a.functi
aaa80 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e on.that.is.a.partial.application
aaaa0 20 6f 66 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2e 0a 40 76 61 .of.@var{fun}.to.@var{args}..@va
aaac0 72 7b 61 72 67 73 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 40 r{args}.is.a.list.of.the.first.@
aaae0 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 40 76 61 72 var{n}.arguments.to.pass.to.@var
aab00 7b 66 75 6e 7d 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 {fun}..The.result.is.a.new.funct
aab20 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 40 76 61 72 7b ion.which.does.the.same.as.@var{
aab40 66 75 6e 7d 2c 20 65 78 63 65 70 74 20 74 68 61 74 0a 74 68 65 20 66 69 72 73 74 20 40 76 61 72 fun},.except.that.the.first.@var
aab60 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 {n}.arguments.are.fixed.at.the.v
aab80 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 77 alues.with.which.this.function.w
aaba0 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e as.called...@example.@group.(fun
aabc0 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 call.(-partial.#'+.5)).....@resu
aabe0 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c lt{}.5.@end.group.@group.(funcal
aac00 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c l.(-partial.#'-.5).3).....@resul
aac20 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c t{}.2.@end.group.@group.(funcall
aac40 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 20 32 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 .(-partial.#'+.5.2).3).....@resu
aac60 6c 74 7b 7d 20 31 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a lt{}.10.@end.group.@end.example.
aac80 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 70 61 72 74 69 61 6c 7d 0a 40 @end.defun..@anchor{-rpartial}.@
aaca0 64 65 66 75 6e 20 2d 72 70 61 72 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a defun.-rpartial.(fn.&rest.args).
aacc0 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 Return.a.function.that.is.a.part
aace0 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 40 ial.application.of.@var{fn}.to.@
aad00 76 61 72 7b 61 72 67 73 7d 2e 0a 40 76 61 72 7b 61 72 67 73 7d 20 69 73 20 61 20 6c 69 73 74 20 var{args}..@var{args}.is.a.list.
aad20 6f 66 20 74 68 65 20 6c 61 73 74 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 20 74 6f of.the.last.@var{n}.arguments.to
aad40 20 70 61 73 73 20 74 6f 20 40 76 61 72 7b 66 6e 7d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 69 .pass.to.@var{fn}...The.result.i
aad60 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 s.a.new.function.which.does.the.
aad80 73 61 6d 65 20 61 73 20 40 76 61 72 7b 66 6e 7d 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 same.as.@var{fn},.except.that.th
aada0 65 20 6c 61 73 74 0a 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 e.last.@var{n}.arguments.are.fix
aadc0 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 ed.at.the.values.with.which.this
aade0 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c .function.was.called...This.is.l
aae00 69 6b 65 20 40 63 6f 64 65 7b 2d 70 61 72 74 69 61 6c 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 ike.@code{-partial}.(@pxref{-par
aae20 74 69 61 6c 7d 29 2c 20 65 78 63 65 70 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 tial}),.except.the.arguments.are
aae40 20 66 69 78 65 64 0a 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 .fixed.starting.from.the.right.r
aae60 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 ather.than.the.left...@example.@
aae80 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 group.(funcall.(-rpartial.#'-.5)
aaea0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 2d 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).....@result{}.-5.@end.group.@g
aaec0 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 roup.(funcall.(-rpartial.#'-.5).
aaee0 38 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 8).....@result{}.3.@end.group.@g
aaf00 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 20 32 roup.(funcall.(-rpartial.#'-.5.2
aaf20 29 20 31 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 ).10).....@result{}.3.@end.group
aaf40 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
aaf60 72 7b 2d 6a 75 78 74 7d 0a 40 64 65 66 75 6e 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 r{-juxt}.@defun.-juxt.(&rest.fns
aaf80 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 74 68 65 20 ).Return.a.function.that.is.the.
aafa0 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 40 76 61 72 7b 66 6e 73 7d 2e 0a 54 68 65 20 juxtaposition.of.@var{fns}..The.
aafc0 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 returned.function.takes.a.variab
aafe0 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 70 70 6c 69 65 73 le.number.of.@var{args},.applies
ab000 0a 65 61 63 68 20 6f 66 20 40 76 61 72 7b 66 6e 73 7d 20 69 6e 20 74 75 72 6e 20 74 6f 20 40 76 .each.of.@var{fns}.in.turn.to.@v
ab020 61 72 7b 61 72 67 73 7d 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f ar{args},.and.returns.the.list.o
ab040 66 20 72 65 73 75 6c 74 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e f.results...@example.@group.(fun
ab060 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 call.(-juxt).1.2).....@result{}.
ab080 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d ().@end.group.@group.(funcall.(-
ab0a0 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 23 27 2a 20 23 27 2f 29 20 37 20 35 29 0a 20 20 20 20 40 juxt.#'+.#'-.#'*.#'/).7.5).....@
ab0c0 72 65 73 75 6c 74 7b 7d 20 28 31 32 20 32 20 33 35 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a result{}.(12.2.35.1).@end.group.
ab0e0 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 6a 75 78 74 20 23 27 6e 75 6d 62 65 72 2d 74 @group.(mapcar.(-juxt.#'number-t
ab100 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 o-string.#'1+).'(1.2)).....@resu
ab120 6c 74 7b 7d 20 28 28 22 31 22 20 32 29 20 28 22 32 22 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 lt{}.(("1".2).("2".3)).@end.grou
ab140 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
ab160 6f 72 7b 2d 63 6f 6d 70 6f 73 65 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 or{-compose}.@defun.-compose.(&r
ab180 65 73 74 20 66 6e 73 29 0a 43 6f 6d 70 6f 73 65 20 40 76 61 72 7b 66 6e 73 7d 20 69 6e 74 6f 20 est.fns).Compose.@var{fns}.into.
ab1a0 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 a.single.composite.function..Ret
ab1c0 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 urn.a.function.that.takes.a.vari
ab1e0 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 70 70 6c 69 able.number.of.@var{args},.appli
ab200 65 73 0a 74 68 65 20 6c 61 73 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 66 6e 73 es.the.last.function.in.@var{fns
ab220 7d 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 }.to.@var{args},.and.returns.the
ab240 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e .result.of.calling.each.remainin
ab260 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 g.function.on.the.result.of.the.
ab280 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 previous.function,.right-to-left
ab2a0 2e 20 20 49 66 20 6e 6f 20 40 76 61 72 7b 66 6e 73 7d 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 ...If.no.@var{fns}.are.given,.re
ab2c0 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 0a 40 63 6f 64 65 7b 69 64 65 6e 74 69 74 79 7d 20 turn.a.variadic.@code{identity}.
ab2e0 66 75 6e 63 74 69 6f 6e 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 function...@example.@group.(func
ab300 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 20 31 20 32 20 all.(-compose.#'-.#'1+.#'+).1.2.
ab320 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 2d 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 3).....@result{}.-7.@end.group.@
ab340 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 65 6e 74 group.(funcall.(-compose.#'ident
ab360 69 74 79 20 23 27 31 2b 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e ity.#'1+).3).....@result{}.4.@en
ab380 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 d.group.@group.(mapcar.(-compose
ab3a0 20 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 70 29 20 27 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 .#'not.#'stringp).'(nil.""))....
ab3c0 20 40 72 65 73 75 6c 74 7b 7d 20 28 74 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 .@result{}.(t.nil).@end.group.@e
ab3e0 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
ab400 61 70 70 6c 69 66 79 7d 0a 40 64 65 66 75 6e 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 52 65 applify}.@defun.-applify.(fn).Re
ab420 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 40 76 61 turn.a.function.that.applies.@va
ab440 72 7b 66 6e 7d 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a r{fn}.to.a.single.list.of.args..
ab460 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 40 76 61 72 7b 66 This.changes.the.arity.of.@var{f
ab480 6e 7d 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 40 76 61 72 7b 6e 7d 20 64 69 73 74 69 6e 63 74 20 n}.from.taking.@var{n}.distinct.
ab4a0 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 20 31 20 61 72 67 75 6d 65 6e 74 20 77 arguments.to.taking.1.argument.w
ab4c0 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 hich.is.a.list.of.@var{n}.argume
ab4e0 6e 74 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 nts...@example.@group.(funcall.(
ab500 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d -applify.#'+).nil).....@result{}
ab520 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 61 .0.@end.group.@group.(mapcar.(-a
ab540 70 70 6c 69 66 79 20 23 27 2b 29 20 27 28 28 31 20 31 20 31 29 20 28 31 20 32 20 33 29 20 28 35 pplify.#'+).'((1.1.1).(1.2.3).(5
ab560 20 35 20 35 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 36 20 31 35 29 0a 40 .5.5))).....@result{}.(3.6.15).@
ab580 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c end.group.@group.(funcall.(-appl
ab5a0 69 66 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 ify.#'<).'(3.6)).....@result{}.t
ab5c0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
ab5e0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 6f 6e 20 28 6f 70 fun..@anchor{-on}.@defun.-on.(op
ab600 20 74 72 61 6e 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 .trans).Return.a.function.that.c
ab620 61 6c 6c 73 20 40 76 61 72 7b 74 72 61 6e 73 7d 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 alls.@var{trans}.on.each.arg.and
ab640 20 40 76 61 72 7b 6f 70 7d 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 .@var{op}.on.the.results..The.re
ab660 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 turned.function.takes.a.variable
ab680 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 .number.of.arguments,.calls.the.
ab6a0 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 74 72 61 6e 73 7d 20 6f 6e 20 65 61 63 68 20 6f 6e 65 function.@var{trans}.on.each.one
ab6c0 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 61 73 73 65 73 20 74 68 6f 73 65 0a .in.turn,.and.then.passes.those.
ab6e0 72 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 results.as.the.list.of.arguments
ab700 20 74 6f 20 40 76 61 72 7b 6f 70 7d 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 2e .to.@var{op},.in.the.same.order.
ab720 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 ..For.example,.the.following.pai
ab740 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 rs.of.expressions.are.morally.eq
ab760 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 uivalent:....(funcall.(-on.#'+.#
ab780 27 31 2b 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 '1+).1.2.3).=.(+.(1+.1).(1+.2).(
ab7a0 31 2b 20 33 29 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 1+.3))...(funcall.(-on.#'+.#'1+)
ab7c0 29 20 20 20 20 20 20 20 3d 20 28 2b 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 ).......=.(+)..@example.@group.(
ab7e0 2d 73 6f 72 74 20 28 2d 6f 6e 20 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 -sort.(-on.#'<.#'length).'((1.2.
ab800 33 29 20 28 31 29 20 28 31 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 3).(1).(1.2))).....@result{}.((1
ab820 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ).(1.2).(1.2.3)).@end.group.@gro
ab840 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 69 6e 67 2d up.(funcall.(-on.#'min.#'string-
ab860 74 6f 2d 6e 75 6d 62 65 72 29 20 22 32 32 22 20 22 32 22 20 22 31 22 20 22 31 32 22 29 0a 20 20 to-number)."22"."2"."1"."12")...
ab880 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a ..@result{}.1.@end.group.@group.
ab8a0 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 (-min-by.(-on.#'>.#'length).'((1
ab8c0 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .2.3).(4).(1.2))).....@result{}.
ab8e0 28 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 (4).@end.group.@end.example.@end
ab900 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 6c 69 70 7d 0a 40 64 65 66 75 6e 20 2d 66 .defun..@anchor{-flip}.@defun.-f
ab920 6c 69 70 20 28 66 6e 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 lip.(fn).Return.a.function.that.
ab940 63 61 6c 6c 73 20 40 76 61 72 7b 66 6e 7d 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 calls.@var{fn}.with.its.argument
ab960 73 20 72 65 76 65 72 73 65 64 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f s.reversed..The.returned.functio
ab980 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d n.takes.the.same.number.of.argum
ab9a0 65 6e 74 73 20 61 73 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 ents.as.@var{fn}...For.example,.
ab9c0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 the.following.two.expressions.ar
ab9e0 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 28 66 75 6e 63 61 6c e.morally.equivalent:....(funcal
aba00 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 53 65 l.(-flip.#'-).1.2).=.(-.2.1)..Se
aba20 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 6f 74 61 74 65 2d 61 72 67 73 7d 20 28 40 70 78 e.also:.@code{-rotate-args}.(@px
aba40 72 65 66 7b 2d 72 6f 74 61 74 65 2d 61 72 67 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 ref{-rotate-args})...@example.@g
aba60 72 6f 75 70 0a 28 2d 73 6f 72 74 20 28 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 roup.(-sort.(-flip.#'<).'(4.3.6.
aba80 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 34 20 33 20 31 29 0a 40 65 6e 64 1)).....@result{}.(6.4.3.1).@end
abaa0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 .group.@group.(funcall.(-flip.#'
abac0 2d 29 20 33 20 32 20 31 20 31 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e -).3.2.1.10).....@result{}.4.@en
abae0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 d.group.@group.(funcall.(-flip.#
abb00 27 31 2b 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f '1+).1).....@result{}.2.@end.gro
abb20 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
abb40 68 6f 72 7b 2d 72 6f 74 61 74 65 2d 61 72 67 73 7d 0a 40 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 hor{-rotate-args}.@defun.-rotate
abb60 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 -args.(n.fn).Return.a.function.t
abb80 68 61 74 20 63 61 6c 6c 73 20 40 76 61 72 7b 66 6e 7d 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 hat.calls.@var{fn}.with.args.rot
abba0 61 74 65 64 20 40 76 61 72 7b 6e 7d 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 ated.@var{n}.places.to.the.right
abbc0 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 ..The.returned.function.takes.th
abbe0 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 40 76 e.same.number.of.arguments.as.@v
abc00 61 72 7b 66 6e 7d 2c 0a 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 ar{fn},.rotates.the.list.of.argu
abc20 6d 65 6e 74 73 20 40 76 61 72 7b 6e 7d 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 ments.@var{n}.places.to.the.righ
abc40 74 20 28 6c 65 66 74 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 t.(left.if.@var{n}.is.negative).
abc60 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 72 6f 74 61 74 65 7d 20 28 40 70 78 72 65 66 just.like.@code{-rotate}.(@pxref
abc80 7b 2d 72 6f 74 61 74 65 7d 29 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 40 76 61 72 7b 66 6e 7d {-rotate}),.and.applies.@var{fn}
abca0 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 .to.the.result...See.also:.@code
abcc0 7b 2d 66 6c 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 69 70 7d 29 2e 0a 0a 40 65 78 61 6d 70 {-flip}.(@pxref{-flip})...@examp
abce0 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 le.@group.(funcall.(-rotate-args
abd00 20 2d 31 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .-1.#'list).1.2.3.4).....@result
abd20 7b 7d 20 28 32 20 33 20 34 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(2.3.4.1).@end.group.@group.(
abd40 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 31 20 23 27 2d 29 20 31 20 31 funcall.(-rotate-args.1.#'-).1.1
abd60 30 20 31 30 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 38 39 0a 40 65 6e 64 20 67 72 6f 0.100).....@result{}.89.@end.gro
abd80 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 up.@group.(funcall.(-rotate-args
abda0 20 32 20 23 27 6c 69 73 74 29 20 33 20 34 20 35 20 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c .2.#'list).3.4.5.1.2).....@resul
abdc0 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 t{}.(1.2.3.4.5).@end.group.@end.
abde0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e example.@end.defun..@anchor{-con
abe00 73 74 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 73 74 20 28 63 29 0a 52 65 74 75 72 6e 20 61 20 66 st}.@defun.-const.(c).Return.a.f
abe20 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 40 76 61 72 7b 63 7d 20 69 67 6e unction.that.returns.@var{c}.ign
abe40 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a oring.any.additional.arguments..
abe60 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 0a 0a 40 65 78 61 6d 70 6c 65 .In.types:.a.->.b.->.a..@example
abe80 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6e 73 74 20 32 29 20 31 20 33 20 .@group.(funcall.(-const.2).1.3.
abea0 22 66 6f 6f 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 "foo").....@result{}.2.@end.grou
abec0 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 p.@group.(mapcar.(-const.1).'("a
abee0 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 "."b"."c"."d")).....@result{}.(1
abf00 20 31 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 .1.1.1).@end.group.@group.(-sum.
abf20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 (mapcar.(-const.1).'("a"."b"."c"
abf40 20 22 64 22 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f ."d"))).....@result{}.4.@end.gro
abf60 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
abf80 68 6f 72 7b 2d 63 75 74 7d 0a 40 64 65 66 6d 61 63 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 hor{-cut}.@defmac.-cut.(&rest.pa
abfa0 72 61 6d 73 29 0a 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 rams).Take.n-ary.function.and.n.
abfc0 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 arguments.and.specialize.some.of
abfe0 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 .them..Arguments.denoted.by.<>.w
ac000 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 53 65 65 20 ill.be.left.unspecialized...See.
ac020 40 76 61 72 7b 73 72 66 69 2d 32 36 7d 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 @var{srfi-26}.for.detailed.descr
ac040 69 70 74 69 6f 6e 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c iption...@example.@group.(funcal
ac060 6c 20 28 2d 63 75 74 20 6c 69 73 74 20 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 0a 20 l.(-cut.list.1.<>.3.<>.5).2.4)..
ac080 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 ...@result{}.(1.2.3.4.5).@end.gr
ac0a0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c oup.@group.(-map.(-cut.funcall.<
ac0c0 3e 20 35 29 20 60 28 31 2b 20 31 2d 20 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 >.5).`(1+.1-.,(lambda.(x).(/.1.0
ac0e0 20 78 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 34 20 30 2e 32 29 0a 40 .x)))).....@result{}.(6.4.0.2).@
ac100 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c 3e 20 end.group.@group.(-map.(-cut.<>.
ac120 31 20 32 20 33 29 20 27 28 6c 69 73 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a 20 20 1.2.3).'(list.vector.string))...
ac140 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 ..@result{}.((1.2.3).[1.2.3]."\1
ac160 5c 32 5c 33 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 \2\3").@end.group.@end.example.@
ac180 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6e 6f 74 7d 0a 40 64 65 66 75 6e end.defmac..@anchor{-not}.@defun
ac1a0 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 .-not.(pred).Return.a.predicate.
ac1c0 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b that.negates.the.result.of.@var{
ac1e0 70 72 65 64 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 70 61 pred}..The.returned.predicate.pa
ac200 73 73 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 70 72 65 64 7d sses.its.arguments.to.@var{pred}
ac220 2e 20 20 49 66 20 40 76 61 72 7b 70 72 65 64 7d 0a 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e ...If.@var{pred}.returns.@code{n
ac240 69 6c 7d 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c il},.the.result.is.non-@code{nil
ac260 7d 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 40 63 6f 64 65 };.otherwise.the.result.is.@code
ac280 7b 6e 69 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 61 6e 64 66 6e 7d 20 {nil}...See.also:.@code{-andfn}.
ac2a0 28 40 70 78 72 65 66 7b 2d 61 6e 64 66 6e 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6f 72 66 6e (@pxref{-andfn}).and.@code{-orfn
ac2c0 7d 20 28 40 70 78 72 65 66 7b 2d 6f 72 66 6e 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 }.(@pxref{-orfn})...@example.@gr
ac2e0 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 oup.(funcall.(-not.#'numberp)."5
ac300 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ").....@result{}.t.@end.group.@g
ac320 72 6f 75 70 0a 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 roup.(-sort.(-not.#'<).'(5.2.1.0
ac340 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 35 20 32 20 31 20 30 29 0a 40 .6)).....@result{}.(6.5.2.1.0).@
ac360 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6e 6f 74 20 end.group.@group.(-filter.(-not.
ac380 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 (-partial.#'<.4)).'(1.2.3.4.5.6.
ac3a0 37 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 7.8)).....@result{}.(1.2.3.4).@e
ac3c0 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
ac3e0 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6f 72 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 6f 72 66 6e 20 28 26 ..@anchor{-orfn}.@defun.-orfn.(&
ac400 72 65 73 74 20 70 72 65 64 73 29 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 rest.preds).Return.a.predicate.t
ac420 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 40 63 6f 64 65 7b hat.returns.the.first.non-@code{
ac440 6e 69 6c 7d 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 73 7d 2e 0a 54 68 65 20 nil}.result.of.@var{preds}..The.
ac460 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 returned.predicate.takes.a.varia
ac480 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 0a 70 61 73 73 65 73 20 ble.number.of.arguments,.passes.
ac4a0 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 40 76 61 72 7b 70 them.to.each.predicate.in.@var{p
ac4c0 72 65 64 73 7d 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 0a reds}.in.turn.until.one.of.them.
ac4e0 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 61 6e 64 20 72 65 74 75 returns.non-@code{nil},.and.retu
ac500 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 73 75 6c 74 20 77 rns.that.non-@code{nil}.result.w
ac520 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 40 76 61 ithout.calling.the.remaining.@va
ac540 72 7b 70 72 65 64 73 7d 2e 20 20 49 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 72 65 r{preds}...If.all.@var{preds}.re
ac560 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 6f 72 20 69 66 20 6e 6f 20 40 76 61 72 7b 70 turn.@code{nil},.or.if.no.@var{p
ac580 72 65 64 73 7d 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 reds}.are.given,.the.returned.pr
ac5a0 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 53 65 65 edicate.returns.@code{nil}...See
ac5c0 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 61 6e 64 66 6e 7d 20 28 40 70 78 72 65 66 7b 2d 61 6e .also:.@code{-andfn}.(@pxref{-an
ac5e0 64 66 6e 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6e 6f 74 7d 20 28 40 70 78 72 65 66 7b 2d 6e dfn}).and.@code{-not}.(@pxref{-n
ac600 6f 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 ot})...@example.@group.(-filter.
ac620 28 2d 6f 72 66 6e 20 23 27 6e 61 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 (-orfn.#'natnump.#'booleanp).'(1
ac640 20 6e 69 6c 20 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .nil."a".-4.b.c.t)).....@result{
ac660 7d 20 28 31 20 6e 69 6c 20 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 }.(1.nil.t).@end.group.@group.(f
ac680 75 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 uncall.(-orfn.#'symbolp.(-cut.st
ac6a0 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 0a 20 20 20 ring-match-p."x".<>))."axe")....
ac6c0 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 .@result{}.1.@end.group.@group.(
ac6e0 66 75 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 funcall.(-orfn.#'=.#'+).1.1)....
ac700 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 .@result{}.t.@end.group.@end.exa
ac720 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 64 66 6e 7d mple.@end.defun..@anchor{-andfn}
ac740 0a 40 64 65 66 75 6e 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 52 65 74 .@defun.-andfn.(&rest.preds).Ret
ac760 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e urn.a.predicate.that.returns.non
ac780 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 69 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 64 -@code{nil}.if.all.@var{preds}.d
ac7a0 6f 20 73 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 40 76 61 o.so..The.returned.predicate.@va
ac7c0 72 7b 70 7d 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 r{p}.takes.a.variable.number.of.
ac7e0 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 arguments.and.passes.them.to.eac
ac800 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 40 76 61 72 7b 70 72 65 64 73 7d 20 69 6e 20 74 75 h.predicate.in.@var{preds}.in.tu
ac820 72 6e 2e 20 20 49 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 40 76 61 72 7b 70 72 65 64 73 7d 20 72 rn...If.any.one.of.@var{preds}.r
ac840 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 2c 20 40 76 61 72 7b 70 7d 20 61 6c 73 6f 20 eturns.@code{nil},.@var{p}.also.
ac860 72 65 74 75 72 6e 73 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 returns.@code{nil}.without.calli
ac880 6e 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 40 76 61 72 7b 70 72 65 64 73 7d 2e 20 20 49 ng.the.remaining.@var{preds}...I
ac8a0 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 40 63 6f f.all.@var{preds}.return.non-@co
ac8c0 64 65 7b 6e 69 6c 7d 2c 20 40 76 61 72 7b 70 7d 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 de{nil},.@var{p}.returns.the.las
ac8e0 74 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 40 76 61 72 7b 70 72 65 64 73 7d t.such.value...If.no.@var{preds}
ac900 20 61 72 65 20 67 69 76 65 6e 2c 20 40 76 61 72 7b 70 7d 20 61 6c 77 61 79 73 20 72 65 74 75 72 .are.given,.@var{p}.always.retur
ac920 6e 73 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 ns.non-@code{nil}...See.also:.@c
ac940 6f 64 65 7b 2d 6f 72 66 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6f 72 66 6e 7d 29 20 61 6e 64 20 40 ode{-orfn}.(@pxref{-orfn}).and.@
ac960 63 6f 64 65 7b 2d 6e 6f 74 7d 20 28 40 70 78 72 65 66 7b 2d 6e 6f 74 7d 29 2e 0a 0a 40 65 78 61 code{-not}.(@pxref{-not})...@exa
ac980 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e mple.@group.(-filter.(-andfn.#'n
ac9a0 75 6d 62 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 27 28 61 20 31 20 62 20 36 20 umberp.(-cut.<.<>.5)).'(a.1.b.6.
ac9c0 63 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 c.2)).....@result{}.(1.2).@end.g
ac9e0 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 roup.@group.(mapcar.(-andfn.#'nu
aca00 6d 62 65 72 70 20 23 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 20 20 40 72 65 73 mberp.#'1+).'(a.1.b.6)).....@res
aca20 75 6c 74 7b 7d 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ult{}.(nil.2.nil.7).@end.group.@
aca40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 group.(funcall.(-andfn.#'=.#'+).
aca60 31 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 1.1).....@result{}.2.@end.group.
aca80 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
acaa0 7b 2d 69 74 65 72 61 74 65 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 66 6e 20 28 {-iteratefn}.@defun.-iteratefn.(
acac0 66 6e 20 6e 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d fn.n).Return.a.function.@var{fn}
acae0 20 63 6f 6d 70 6f 73 65 64 20 40 76 61 72 7b 6e 7d 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 .composed.@var{n}.times.with.its
acb00 65 6c 66 2e 0a 0a 40 76 61 72 7b 66 6e 7d 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 elf...@var{fn}.is.a.unary.functi
acb20 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 on...If.you.need.to.use.a.functi
acb40 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 61 72 69 74 79 2c 20 75 73 65 20 40 63 6f 64 65 7b 2d 61 on.of.higher.arity,.use.@code{-a
acb60 70 70 6c 69 66 79 7d 20 28 40 70 78 72 65 66 7b 2d 61 70 70 6c 69 66 79 7d 29 20 66 69 72 73 74 pplify}.(@pxref{-applify}).first
acb80 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f .to.turn.it.into.a.unary.functio
acba0 6e 2e 0a 0a 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 n...With.n.=.0,.this.acts.as.ide
acbc0 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e ntity.function...In.types:.(a.->
acbe0 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 75 6e 63 .a).->.Int.->.a.->.a...This.func
acc00 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 tion.satisfies.the.following.law
acc20 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 :....(funcall.(-iteratefn.fn.n).
acc40 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e init).=.(-last-item.(-iterate.fn
acc60 20 69 6e 69 74 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 .init.(1+.n)))...@example.@group
acc80 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 .(funcall.(-iteratefn.(lambda.(x
acca0 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 ).(*.x.x)).3).2).....@result{}.2
accc0 35 36 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 56.@end.group.@group.(funcall.(-
acce0 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b iteratefn.'1+.3).1).....@result{
acd00 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 }.4.@end.group.@group.(funcall.(
acd20 2d 69 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 -iteratefn.'cdr.3).'(1.2.3.4.5))
acd40 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .....@result{}.(4.5).@end.group.
acd60 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
acd80 7b 2d 66 69 78 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 {-fixfn}.@defun.-fixfn.(fn.&opti
acda0 6f 6e 61 6c 20 65 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 52 65 74 75 72 onal.equal-test.halt-test).Retur
acdc0 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 n.a.function.that.computes.the.(
acde0 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 40 76 least).fixpoint.of.@var{fn}...@v
ace00 61 72 7b 66 6e 7d 20 6d 75 73 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e ar{fn}.must.be.a.unary.function.
ace20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e .The.returned.lambda.takes.a.sin
ace40 67 6c 65 0a 61 72 67 75 6d 65 6e 74 2c 20 40 76 61 72 7b 78 7d 2c 20 74 68 65 20 69 6e 69 74 69 gle.argument,.@var{x},.the.initi
ace60 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 al.value.for.the.fixpoint.iterat
ace80 69 6f 6e 2e 20 54 68 65 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 ion..The.iteration.halts.when.ei
acea0 74 68 65 72 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 ther.of.the.following.conditions
acec0 20 69 73 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 31 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f .is.satisfied:...1..Iteration.co
acee0 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 nverges.to.the.fixpoint,.with.eq
acf00 75 61 6c 69 74 79 20 62 65 69 6e 67 0a 20 20 20 20 74 65 73 74 65 64 20 75 73 69 6e 67 20 40 76 uality.being.....tested.using.@v
acf20 61 72 7b 65 71 75 61 6c 2d 74 65 73 74 7d 2e 20 49 66 20 40 76 61 72 7b 65 71 75 61 6c 2d 74 65 ar{equal-test}..If.@var{equal-te
acf40 73 74 7d 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 40 63 6f 64 65 7b st}.is.not.specified,.....@code{
acf60 65 71 75 61 6c 7d 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 equal}.is.used..For.functions.ov
acf80 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 6e 75 6d 62 65 72 er.the.floating.point.....number
acfa0 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 70 72 6f 76 69 64 s,.it.may.be.necessary.to.provid
acfc0 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 e.an.appropriate.....approximate
acfe0 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 40 76 61 72 7b 68 61 6c 74 .comparison.test....2..@var{halt
ad000 2d 74 65 73 74 7d 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 40 63 6f 64 65 7b 6e 69 6c 7d 20 -test}.returns.a.non-@code{nil}.
ad020 76 61 6c 75 65 2e 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 20 64 65 66 61 75 6c 74 73 20 value..@var{halt-test}.defaults.
ad040 74 6f 20 61 0a 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 to.a.....simple.counter.that.ret
ad060 75 72 6e 73 20 40 63 6f 64 65 7b 74 7d 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 66 69 78 66 6e urns.@code{t}.after.@code{-fixfn
ad080 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 7d 2c 0a 20 20 20 20 74 6f 20 67 75 61 72 64 20 61 -max-iterations},.....to.guard.a
ad0a0 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e 2e 20 4f 74 68 65 72 gainst.infinite.iteration..Other
ad0c0 77 69 73 65 2c 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 0a 20 20 20 20 6d 75 73 74 20 62 wise,.@var{halt-test}.....must.b
ad0e0 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 6e 67 e.a.function.that.accepts.a.sing
ad100 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 6c le.argument,.the.....current.val
ad120 75 65 20 6f 66 20 40 76 61 72 7b 78 7d 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 40 ue.of.@var{x},.and.returns.non-@
ad140 63 6f 64 65 7b 6e 69 6c 7d 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f 6e 0a 20 code{nil}.as.long.as.iteration..
ad160 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 77 61 79 2c ...should.continue..In.this.way,
ad180 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 0a 20 20 20 20 63 6f 6e 76 65 72 .a.more.sophisticated.....conver
ad1a0 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 gence.test.may.be.supplied.by.th
ad1c0 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 e.caller...The.return.value.of.t
ad1e0 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 he.lambda.is.either.the.fixpoint
ad200 20 6f 72 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f 72 65 20 .or,.if.iteration.halted.before.
ad220 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 40 63 6f 64 converging,.a.cons.with.car.@cod
ad240 65 7b 68 61 6c 74 65 64 7d 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 e{halted}.and.cdr.the.final.outp
ad260 75 74 20 66 72 6f 6d 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 2e 0a 0a 49 6e 20 74 79 70 ut.from.@var{halt-test}...In.typ
ad280 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 40 65 78 61 6d 70 6c es:.(a.->.a).->.a.->.a...@exampl
ad2a0 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 6f 73 20 e.@group.(funcall.(-fixfn.#'cos.
ad2c0 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 2e #'approx=).0.7).....@result{}.0.
ad2e0 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 7390851332151607.@end.group.@gro
ad300 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 up.(funcall.(-fixfn.(lambda.(x).
ad320 28 65 78 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 29 29 20 32 2e 30 29 0a 20 20 20 20 (expt.(+.x.10).0.25))).2.0).....
ad340 40 72 65 73 75 6c 74 7b 7d 20 31 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a 40 65 6e @result{}.1.8555845286409378.@en
ad360 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 d.group.@group.(funcall.(-fixfn.
ad380 23 27 73 69 6e 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 0a 20 20 20 20 40 72 65 73 75 6c #'sin.#'approx=).0.1).....@resul
ad3a0 74 7b 7d 20 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 t{}.(halted...t).@end.group.@end
ad3c0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 72 .example.@end.defun..@anchor{-pr
ad3e0 6f 64 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 70 72 6f 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 odfn}.@defun.-prodfn.(&rest.fns)
ad400 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 .Return.a.function.that.applies.
ad420 65 61 63 68 20 6f 66 20 40 76 61 72 7b 66 6e 73 7d 20 74 6f 20 65 61 63 68 20 6f 66 20 61 20 6c each.of.@var{fns}.to.each.of.a.l
ad440 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 61 6b 65 73 20 61 20 6c 69 73 74 20 ist.of.arguments...Takes.a.list.
ad460 6f 66 20 40 76 61 72 7b 6e 7d 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 73 of.@var{n}.functions.and.returns
ad480 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 6f 66 .a.function.that.takes.a.list.of
ad4a0 20 6c 65 6e 67 74 68 20 40 76 61 72 7b 6e 7d 2c 20 61 70 70 6c 79 69 6e 67 20 49 74 68 20 66 75 .length.@var{n},.applying.Ith.fu
ad4c0 6e 63 74 69 6f 6e 20 74 6f 20 49 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 nction.to.Ith.element.of.the.inp
ad4e0 75 74 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 ut.list...Returns.a.list.of.leng
ad500 74 68 20 40 76 61 72 7b 6e 7d 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 40 76 61 72 7b th.@var{n}...In.types.(for.@var{
ad520 6e 7d 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 n}=2):.((a.->.b),.(c.->.d)).->.(
ad540 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 a,.c).->.(b,.d)..This.function.s
ad560 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 atisfies.the.following.laws:....
ad580 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d ..(-compose.(-prodfn.f.g.@dots{}
ad5a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 66 6e 20 66 27 20 67 27 20 40 )...............(-prodfn.f'.g'.@
ad5c0 64 6f 74 73 7b 7d 29 29 0a 20 20 3d 20 28 2d 70 72 6f 64 66 6e 20 28 2d 63 6f 6d 70 6f 73 65 20 dots{}))...=.(-prodfn.(-compose.
ad5e0 66 20 66 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 f.f')..............(-compose.g.g
ad600 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 40 64 6f 74 73 7b 7d 29 0a 0a 20 20 20 20 28 2d ')..............@dots{})......(-
ad620 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 0a 20 20 3d 20 28 2d 6a 75 78 74 20 28 prodfn.f.g.@dots{})...=.(-juxt.(
ad640 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 6c 20 23 27 6e 74 68 20 30 29 29 0a 20 -compose.f.(-partial.#'nth.0))..
ad660 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 ..........(-compose.g.(-partial.
ad680 23 27 6e 74 68 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 40 64 6f 74 73 7b 7d 29 0a 0a 20 #'nth.1))............@dots{})...
ad6a0 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b ...(-compose.(-prodfn.f.g.@dots{
ad6c0 7d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6a 75 78 74 20 66 27 20 67 27 20 40 64 })...............(-juxt.f'.g'.@d
ad6e0 6f 74 73 7b 7d 29 29 0a 20 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 ots{}))...=.(-juxt.(-compose.f.f
ad700 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 0a 20 20 ')............(-compose.g.g')...
ad720 20 20 20 20 20 20 20 20 20 40 64 6f 74 73 7b 7d 29 0a 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 .........@dots{})......(-compose
ad740 20 28 2d 70 61 72 74 69 61 6c 20 23 27 6e 74 68 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(-partial.#'nth.n).............
ad760 20 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 40 64 6f 74 73 7b 7d 29 29 0a 20 20 3d 20 28 2d 63 ..(-prod.f1.f2.@dots{}))...=.(-c
ad780 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 23 27 6e 74 68 20 6e 29 29 0a 0a 40 ompose.fn.(-partial.#'nth.n))..@
ad7a0 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e example.@group.(funcall.(-prodfn
ad7c0 20 23 27 31 2b 20 23 27 31 2d 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 .#'1+.#'1-.#'number-to-string).'
ad7e0 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 31 20 22 33 22 29 (1.2.3)).....@result{}.(2.1."3")
ad800 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 .@end.group.@group.(-map.(-prodf
ad820 6e 20 23 27 31 2d 20 23 27 31 2b 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 n.#'1-.#'1+).'((1.2).(3.4).(5.6)
ad840 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 20 33 29 20 28 32 20 35 29 20 28 34 )).....@result{}.((0.3).(2.5).(4
ad860 20 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 23 27 .7)).@end.group.@group.(apply.#'
ad880 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 23 27 6c 65 6e 67 74 68 20 23 27 73 +.(funcall.(-prodfn.#'length.#'s
ad8a0 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 27 28 28 74 29 20 22 35 22 29 29 29 0a 20 20 tring-to-number).'((t)."5")))...
ad8c0 20 20 40 72 65 73 75 6c 74 7b 7d 20 36 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 ..@result{}.6.@end.group.@end.ex
ad8e0 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 44 65 76 65 6c 6f 70 6d ample.@end.defun..@node.Developm
ad900 65 6e 74 0a 40 63 68 61 70 74 65 72 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 54 68 65 20 44 61 ent.@chapter.Development..The.Da
ad920 73 68 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 48 75 sh.repository.is.hosted.on.GitHu
ad940 62 20 61 74 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 b.at.@url{https://github.com/mag
ad960 6e 61 72 73 2f 64 61 73 68 2e 65 6c 7d 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 43 6f 6e 74 72 69 62 75 nars/dash.el}...@menu.*.Contribu
ad980 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e te::..........How.to.contribute.
ad9a0 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 .*.Contributors::........List.of
ad9c0 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 .contributors..@end.menu..@node.
ad9e0 43 6f 6e 74 72 69 62 75 74 65 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 65 0a 0a Contribute.@section.Contribute..
ada00 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 Yes,.please.do...Pure.functions.
ada20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f in.the.list.manipulation.realm.o
ada40 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 74 65 20 6f 66 nly,.please...There's.a.suite.of
ada60 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 40 66 69 6c 65 7b 64 65 76 2f 65 78 61 .examples/tests.in.@file{dev/exa
ada80 6d 70 6c 65 73 2e 65 6c 7d 2c 0a 73 6f 20 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 mples.el},.so.remember.to.add.te
adaa0 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 sts.for.your.additions,.or.they.
adac0 6d 61 79 20 67 65 74 20 62 72 6f 6b 65 6e 0a 6c 61 74 65 72 2e 0a 0a 52 75 6e 20 74 68 65 20 74 may.get.broken.later...Run.the.t
adae0 65 73 74 73 20 77 69 74 68 20 40 73 61 6d 70 7b 6d 61 6b 65 20 63 68 65 63 6b 7d 2e 20 20 52 65 ests.with.@samp{make.check}...Re
adb00 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 0a 40 73 61 6d 70 7b 6d 61 6b generate.the.docs.with.@samp{mak
adb20 65 20 64 6f 63 73 7d 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 e.docs}...Contributors.are.encou
adb40 72 61 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 0a 63 6f 6d 6d 61 6e 64 73 20 raged.to.install.these.commands.
adb60 61 73 20 61 20 47 69 74 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 as.a.Git.pre-commit.hook,.so.tha
adb80 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 0a 72 75 6e 6e 69 6e 67 20 61 t.the.tests.are.always.running.a
adba0 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a nd.the.docs.are.always.in.sync:.
adbc0 0a 40 65 78 61 6d 70 6c 65 0a 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 .@example.$.cp.dev/pre-commit.sh
adbe0 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 40 65 6e 64 20 65 78 61 6d ..git/hooks/pre-commit.@end.exam
adc00 70 6c 65 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 40 66 69 6c 65 7b 52 45 ple..Oh,.and.don't.edit.@file{RE
adc20 41 44 4d 45 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2e 74 65 78 69 7d 20 64 69 72 ADME.md}.or.@file{dash.texi}.dir
adc40 65 63 74 6c 79 2c 20 61 73 0a 74 68 65 79 20 61 72 65 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 ectly,.as.they.are.auto-generate
adc60 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 72 20 72 65 73 70 65 63 d...Instead,.change.their.respec
adc80 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a 40 66 69 6c 65 7b 72 65 61 64 6d 65 2d 74 65 6d 70 tive.templates.@file{readme-temp
adca0 6c 61 74 65 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e late.md}.or.@file{dash-template.
adcc0 74 65 78 69 7d 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 61 73 68 20 63 61 6e 20 texi}...To.ensure.that.Dash.can.
adce0 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 be.distributed.with.GNU.ELPA.or.
add00 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 Emacs,.we.require.that.all.contr
add20 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 ibutors.assign.copyright.to.the.
add40 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d Free.Software.Foundation...For.m
add60 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 40 70 78 72 65 66 7b 43 6f 70 79 72 69 67 68 74 20 41 73 ore.on.this,.@pxref{Copyright.As
add80 73 69 67 6e 6d 65 6e 74 2c 2c 2c 20 65 6d 61 63 73 2c 0a 54 68 65 20 47 4e 55 20 45 6d 61 63 73 signment,,,.emacs,.The.GNU.Emacs
adda0 20 4d 61 6e 75 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 40 73 .Manual}...@node.Contributors.@s
addc0 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 ection.Contributors..@itemize.@i
adde0 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f tem.@url{https://github.com/Fuco
ade00 31 2c 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 1,.Matus.Goljer}.contributed.lot
ade20 73 20 6f 66 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 40 69 74 s.of.features.and.functions..@it
ade40 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 2c 20 em.@url{https://github.com/tkf,.
ade60 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 Takafumi.Arakaki}.contributed.@c
ade80 6f 64 65 7b 2d 67 72 6f 75 70 2d 62 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 ode{-group-by}..@item.@url{https
adea0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2c 20 74 61 6c 69 37 31 33 7d 20 ://github.com/tali713,.tali713}.
adec0 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 0a 40 63 6f 64 65 7b 2d 61 70 70 6c 69 66 79 7d is.the.author.of.@code{-applify}
adee0 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ..@item.@url{https://github.com/
adf00 76 65 6d 76 2c 20 56 40 27 7b 69 7d 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 7d 20 vemv,.V@'{i}ctor.M..Valenzuela}.
adf20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 72 65 70 65 61 74 7d 2e 0a 40 69 74 65 contributed.@code{-repeat}..@ite
adf40 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 m.@url{https://github.com/nicfer
adf60 72 69 65 72 2c 20 4e 69 63 20 46 65 72 72 69 65 72 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 rier,.Nic.Ferrier}.contributed.@
adf80 63 6f 64 65 7b 2d 63 6f 6e 73 2a 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f code{-cons*}..@item.@url{https:/
adfa0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2c 20 57 69 6c 66 72 65 64 20 48 75 67 /github.com/Wilfred,.Wilfred.Hug
adfc0 68 65 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 6c 69 63 65 7d 2c 20 hes}.contributed.@code{-slice},.
adfe0 40 63 6f 64 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6c @code{-first-item},.and.@code{-l
ae000 61 73 74 2d 69 74 65 6d 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 ast-item}..@item.@url{https://gi
ae020 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 2c 20 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 7d 20 thub.com/shosti,.Emanuel.Evans}.
ae040 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 2c 20 40 63 6f 64 contributed.@code{-if-let},.@cod
ae060 65 7b 2d 77 68 65 6e 2d 6c 65 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 69 6e 73 65 72 74 2d e{-when-let},.and.@code{-insert-
ae080 61 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 at}..@item.@url{https://github.c
ae0a0 6f 6d 2f 72 65 6a 65 65 70 2c 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 7d 20 63 6f 6e 74 om/rejeep,.Johan.Andersson}.cont
ae0c0 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 75 6d 7d 2c 20 40 63 6f 64 65 7b 2d 70 72 6f 64 ributed.@code{-sum},.@code{-prod
ae0e0 75 63 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7d 2e 0a 40 uct},.and.@code{-same-items?}..@
ae100 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 item.@url{https://github.com/kur
ae120 69 73 75 77 68 79 74 65 2c 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 7d 20 63 6f 6e 74 72 isuwhyte,.Christina.Whyte}.contr
ae140 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 6f 73 65 7d 2e 0a 40 69 74 65 6d 0a 40 75 ibuted.@code{-compose}..@item.@u
ae160 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 6d rl{https://github.com/steventlam
ae180 62 2c 20 53 74 65 76 65 20 4c 61 6d 62 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 b,.Steve.Lamb}.contributed.@code
ae1a0 7b 2d 63 79 63 6c 65 7d 2c 20 40 63 6f 64 65 7b 2d 70 61 64 7d 2c 20 40 63 6f 64 65 7b 2d 61 6e {-cycle},.@code{-pad},.@code{-an
ae1c0 6e 6f 74 61 74 65 7d 2c 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 2c 20 61 6e 64 20 61 notate},.@code{-zip-fill},.and.a
ae1e0 0a 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 40 63 6f 64 65 7b 2d 7a 69 70 7d .variadic.version.of.@code{-zip}
ae200 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ..@item.@url{https://github.com/
ae220 66 62 65 72 67 72 6f 74 68 2c 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 7d 20 6d 61 64 fbergroth,.Fredrik.Bergroth}.mad
ae240 65 20 74 68 65 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 20 66 61 6d 69 6c 79 20 75 73 65 20 e.the.@code{-if-let}.family.use.
ae260 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d @code{-let}.destructuring.and.im
ae280 70 72 6f 76 65 64 20 74 68 65 0a 73 63 72 69 70 74 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 proved.the.script.for.generating
ae2a0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 .documentation..@item.@url{https
ae2c0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 2c 20 4d 61 72 6b 20 4f 74 ://github.com/holomorph,.Mark.Ot
ae2e0 65 69 7a 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 6f 74 61 7d 20 61 eiza}.contributed.@code{-iota}.a
ae300 6e 64 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 nd.the.script.to.create.an.Info.
ae320 6d 61 6e 75 61 6c 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 manual..@item.@url{https://githu
ae340 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 2c 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 b.com/wasamasa,.Vasilij.Schneide
ae360 72 6d 61 6e 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 6f 6d 65 7d 2e rmann}.contributed.@code{-some}.
ae380 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f .@item.@url{https://github.com/o
ae3a0 63 63 69 64 65 6e 73 2c 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 7d 20 6d 61 64 65 20 40 63 6f 64 ccidens,.William.West}.made.@cod
ae3c0 65 7b 2d 66 69 78 66 6e 7d 0a 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 20 68 61 6e 64 6c 69 6e e{-fixfn}.more.robust.at.handlin
ae3e0 67 20 66 6c 6f 61 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 g.floats..@item.@url{https://git
ae400 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 2c 20 43 61 6d 20 53 61 75 6c 7d 20 63 6f 6e 74 72 hub.com/camsaul,.Cam.Saul}.contr
ae420 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 7d 2c 0a 40 63 6f 64 65 7b 2d 73 6f ibuted.@code{-some->},.@code{-so
ae440 6d 65 2d 3e 3e 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 2d 3e 7d 2e 0a 40 69 74 me->>},.and.@code{-some-->}..@it
ae460 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c em.@url{https://github.com/basil
ae480 2d 63 6f 6e 74 6f 2c 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 7d -conto,.Basil.L..Contovounesios}
ae4a0 0a 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 .contributed.@code{-common-prefi
ae4c0 78 7d 2c 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 7d 2c 20 61 6e 64 20 76 x},.@code{-common-suffix},.and.v
ae4e0 61 72 69 6f 75 73 0a 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 40 69 74 65 6d arious.other.improvements..@item
ae500 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 .@url{https://github.com/doublep
ae520 2c 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 ,.Paul.Pogonyshev}.contributed.@
ae540 63 6f 64 65 7b 2d 65 61 63 68 2d 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b 2d 65 61 63 68 2d 72 2d code{-each-r}.and.@code{-each-r-
ae560 77 68 69 6c 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e while}..@end.itemize..Thanks!..N
ae580 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 ew.contributors.are.very.welcome
ae5a0 2e 20 20 40 78 72 65 66 7b 43 6f 6e 74 72 69 62 75 74 65 7d 2e 0a 0a 40 63 20 41 70 70 65 6e 64 ...@xref{Contribute}...@c.Append
ae5c0 69 63 65 73 2e 0a 0a 40 6e 6f 64 65 20 46 44 4c 0a 40 61 70 70 65 6e 64 69 78 20 47 4e 55 20 46 ices...@node.FDL.@appendix.GNU.F
ae5e0 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 0a 40 69 6e 63 6c 75 ree.Documentation.License.@inclu
ae600 64 65 20 64 6f 63 2f 66 64 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 47 50 4c 0a 40 61 70 70 65 de.doc/fdl.texi..@node.GPL.@appe
ae620 6e 64 69 78 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a ndix.GNU.General.Public.License.
ae640 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 67 70 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 49 6e 64 @include.doc/gpl.texi..@node.Ind
ae660 65 78 0a 40 75 6e 6e 75 6d 62 65 72 65 64 20 49 6e 64 65 78 0a 40 70 72 69 6e 74 69 6e 64 65 78 ex.@unnumbered.Index.@printindex
ae680 20 66 6e 0a 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .fn..@bye.......................
ae6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae800 64 61 73 68 2d 32 2e 32 30 2e 30 2f 72 61 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 00 00 00 00 dash-2.20.0/rainbow-dash.png....
ae820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ae880 30 30 32 32 31 36 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 33 37 00 20 30 00 00 00 0022161.00000000000.014237..0...
ae8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
ae920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
ae940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aea00 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 8e 00 00 00 78 08 03 00 00 00 13 e8 3a .PNG........IHDR.......x.......:
aea20 3e 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 41 64 6f 62 65 20 49 6d 61 67 65 52 65 61 >....tEXtSoftware.Adobe.ImageRea
aea40 64 79 71 c9 65 3c 00 00 03 22 69 54 58 74 58 4d 4c 3a 63 6f 6d 2e 61 64 6f 62 65 2e 78 6d 70 00 dyq.e<..."iTXtXML:com.adobe.xmp.
aea60 00 00 00 00 3c 3f 78 70 61 63 6b 65 74 20 62 65 67 69 6e 3d 22 ef bb bf 22 20 69 64 3d 22 57 35 ....<?xpacket.begin="...".id="W5
aea80 4d 30 4d 70 43 65 68 69 48 7a 72 65 53 7a 4e 54 63 7a 6b 63 39 64 22 3f 3e 20 3c 78 3a 78 6d 70 M0MpCehiHzreSzNTczkc9d"?>.<x:xmp
aeaa0 6d 65 74 61 20 78 6d 6c 6e 73 3a 78 3d 22 61 64 6f 62 65 3a 6e 73 3a 6d 65 74 61 2f 22 20 78 3a meta.xmlns:x="adobe:ns:meta/".x:
aeac0 78 6d 70 74 6b 3d 22 41 64 6f 62 65 20 58 4d 50 20 43 6f 72 65 20 35 2e 30 2d 63 30 36 30 20 36 xmptk="Adobe.XMP.Core.5.0-c060.6
aeae0 31 2e 31 33 34 37 37 37 2c 20 32 30 31 30 2f 30 32 2f 31 32 2d 31 37 3a 33 32 3a 30 30 20 20 20 1.134777,.2010/02/12-17:32:00...
aeb00 20 20 20 20 20 22 3e 20 3c 72 64 66 3a 52 44 46 20 78 6d 6c 6e 73 3a 72 64 66 3d 22 68 74 74 70 .....">.<rdf:RDF.xmlns:rdf="http
aeb20 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 30 32 2f 32 32 2d 72 64 66 2d 73 79 6e ://www.w3.org/1999/02/22-rdf-syn
aeb40 74 61 78 2d 6e 73 23 22 3e 20 3c 72 64 66 3a 44 65 73 63 72 69 70 74 69 6f 6e 20 72 64 66 3a 61 tax-ns#">.<rdf:Description.rdf:a
aeb60 62 6f 75 74 3d 22 22 20 78 6d 6c 6e 73 3a 78 6d 70 3d 22 68 74 74 70 3a 2f 2f 6e 73 2e 61 64 6f bout="".xmlns:xmp="http://ns.ado
aeb80 62 65 2e 63 6f 6d 2f 78 61 70 2f 31 2e 30 2f 22 20 78 6d 6c 6e 73 3a 78 6d 70 4d 4d 3d 22 68 74 be.com/xap/1.0/".xmlns:xmpMM="ht
aeba0 74 70 3a 2f 2f 6e 73 2e 61 64 6f 62 65 2e 63 6f 6d 2f 78 61 70 2f 31 2e 30 2f 6d 6d 2f 22 20 78 tp://ns.adobe.com/xap/1.0/mm/".x
aebc0 6d 6c 6e 73 3a 73 74 52 65 66 3d 22 68 74 74 70 3a 2f 2f 6e 73 2e 61 64 6f 62 65 2e 63 6f 6d 2f mlns:stRef="http://ns.adobe.com/
aebe0 78 61 70 2f 31 2e 30 2f 73 54 79 70 65 2f 52 65 73 6f 75 72 63 65 52 65 66 23 22 20 78 6d 70 3a xap/1.0/sType/ResourceRef#".xmp:
aec00 43 72 65 61 74 6f 72 54 6f 6f 6c 3d 22 41 64 6f 62 65 20 50 68 6f 74 6f 73 68 6f 70 20 43 53 35 CreatorTool="Adobe.Photoshop.CS5
aec20 20 4d 61 63 69 6e 74 6f 73 68 22 20 78 6d 70 4d 4d 3a 49 6e 73 74 61 6e 63 65 49 44 3d 22 78 6d .Macintosh".xmpMM:InstanceID="xm
aec40 70 2e 69 69 64 3a 35 42 36 30 36 30 37 33 31 34 39 44 31 31 45 32 38 34 45 30 44 32 33 30 42 30 p.iid:5B606073149D11E284E0D230B0
aec60 39 44 31 43 38 46 22 20 78 6d 70 4d 4d 3a 44 6f 63 75 6d 65 6e 74 49 44 3d 22 78 6d 70 2e 64 69 9D1C8F".xmpMM:DocumentID="xmp.di
aec80 64 3a 35 42 36 30 36 30 37 34 31 34 39 44 31 31 45 32 38 34 45 30 44 32 33 30 42 30 39 44 31 43 d:5B606074149D11E284E0D230B09D1C
aeca0 38 46 22 3e 20 3c 78 6d 70 4d 4d 3a 44 65 72 69 76 65 64 46 72 6f 6d 20 73 74 52 65 66 3a 69 6e 8F">.<xmpMM:DerivedFrom.stRef:in
aecc0 73 74 61 6e 63 65 49 44 3d 22 78 6d 70 2e 69 69 64 3a 35 42 36 30 36 30 37 31 31 34 39 44 31 31 stanceID="xmp.iid:5B606071149D11
aece0 45 32 38 34 45 30 44 32 33 30 42 30 39 44 31 43 38 46 22 20 73 74 52 65 66 3a 64 6f 63 75 6d 65 E284E0D230B09D1C8F".stRef:docume
aed00 6e 74 49 44 3d 22 78 6d 70 2e 64 69 64 3a 35 42 36 30 36 30 37 32 31 34 39 44 31 31 45 32 38 34 ntID="xmp.did:5B606072149D11E284
aed20 45 30 44 32 33 30 42 30 39 44 31 43 38 46 22 2f 3e 20 3c 2f 72 64 66 3a 44 65 73 63 72 69 70 74 E0D230B09D1C8F"/>.</rdf:Descript
aed40 69 6f 6e 3e 20 3c 2f 72 64 66 3a 52 44 46 3e 20 3c 2f 78 3a 78 6d 70 6d 65 74 61 3e 20 3c 3f 78 ion>.</rdf:RDF>.</x:xmpmeta>.<?x
aed60 70 61 63 6b 65 74 20 65 6e 64 3d 22 72 22 3f 3e 76 b9 da 1b 00 00 03 00 50 4c 54 45 e1 a0 6d f1 packet.end="r"?>v.......PLTE..m.
aed80 f5 f7 d0 4d 58 bc ec ec 8c d2 f6 ec f6 fa f2 f6 f8 b1 e8 e8 ef f8 f8 93 99 9c f1 f8 f6 ed f8 f7 ...MX...........................
aeda0 c2 ed ed 89 c5 e4 cb f1 f1 b1 e8 e6 8d 6b 93 af 66 73 4f a7 d3 e5 f7 f4 4f b6 65 c7 ec ee 93 db .............k..fsO.....O.e.....
aedc0 fa f0 f8 f8 d4 ee f3 98 e3 fe cb ee ed fb 6b 31 a8 d5 eb ae de 85 81 c5 f2 b1 e6 e6 e4 f8 f4 90 ..............k1................
aede0 c7 db 95 dd fd 76 b5 dc f8 51 3a 7d c1 ea 88 b6 d2 b5 e9 e8 fd ff fd af e7 e8 ad e6 e6 6e b2 e4 .....v...Q:}.................n..
aee00 ae e8 e8 ee c1 86 d5 f1 f1 c5 f0 ef 33 a3 af c4 98 ac 71 b4 e3 6b 91 ae 57 b0 df 26 97 d5 e6 44 ............3.....q..k..W..&...D
aee20 49 d4 f0 ef ac e6 ea b2 e6 e8 f5 f6 f6 e9 f5 f6 5e 5b 68 70 c6 55 ec f5 f6 97 d4 e6 8e d0 6a fc I...............^[hp.U........j.
aee40 63 2e 95 dc fb e5 f5 f8 05 03 03 84 c9 f1 7e c3 f1 b0 d3 c3 d8 e9 f0 97 c7 e3 79 bd e9 d9 f2 f1 c.............~...........y.....
aee60 ea e8 ac 94 da f9 2f 69 b5 65 b8 d9 75 bb ea e1 f5 f6 ae e8 e6 50 99 c8 75 b9 e4 60 2e 83 c4 d5 ....../i.e..u........P..u..`....
aee80 af dd f5 f5 66 32 4b 4d 48 98 d0 f0 f0 78 79 82 66 aa de 7b bb e2 d0 ca cb 83 bf df 41 ae 8e f4 ....f2KMH....xy.f..{........A...
aeea0 f8 f8 54 84 b3 6c ae e1 45 67 b1 b4 e7 fb d9 e9 b0 ea ed b0 1d 92 d7 e5 f5 f3 92 dc fa 88 ce f3 ..T..l..Eg......................
aeec0 b3 d7 ea 73 b6 e9 7b 86 96 40 a0 d2 29 9c c8 ab 1e 63 fa 3d 3d 6e 74 a4 f5 ec aa 75 c4 d5 92 dd ...s..{..@..)....c.==nt....u....
aeee0 fd d9 f4 f5 dd ef f2 a8 cc e2 d5 b7 c9 dc f5 f7 98 de fc ba ea e8 89 d3 e9 e9 f7 f8 b1 43 7a 45 .............................CzE
aef00 56 a4 91 d9 fb d8 f2 f4 b6 eb e9 91 d9 f6 f0 f7 f3 e4 f8 f9 cc e5 99 8f d6 f9 95 db fc a3 db f0 V...............................
aef20 dd f3 f4 74 ac d9 e1 f4 f3 b5 e7 e7 fc de f4 37 9b d3 d4 6e 48 f0 ee b3 a7 e0 f5 94 d3 f2 d5 f5 ...t...........7...nH...........
aef40 f5 7c 90 c2 be f0 f9 b1 b6 c0 e6 e4 e6 a6 e2 ea f7 f5 f5 b2 e9 ea fa fb f8 7b bf ef 3e 89 c3 f5 .|.......................{..>...
aef60 fc f8 b0 e7 e9 d9 f4 f2 df f8 f8 b2 e7 ea e1 f1 f6 c1 d9 e3 29 14 21 40 aa e1 38 92 c4 e3 f2 f2 ....................).!@..8.....
aef80 ee f8 fb 69 c7 f3 7b b6 e0 d5 f3 f1 f2 6e 36 b5 ea eb c1 eb e9 ed f5 f4 e6 f3 f1 d3 f1 fa d5 f2 ...i..{......n6.................
aefa0 f3 f2 f0 b8 5b 7d 95 cf f2 f3 dd f4 f0 30 85 c1 f1 f8 fa e4 dd db 39 77 bd 20 96 de 57 bc 44 bd ....[}.......0........9w....W.D.
aefc0 e9 eb f4 f8 fb ea f3 f6 ea f9 fb d9 f7 f7 32 36 39 eb d7 9a b0 e6 ee b1 dc f1 c4 e4 f0 cf f5 f9 ..............269...............
aefe0 ce e3 ee 63 be ef 29 8e d4 b2 eb e8 5a ba e9 e5 f3 f6 b8 ed eb 22 9c dd 7c a4 be e8 f7 f4 61 ab ...c..).....Z........"..|.....a.
af000 c5 e5 ef f3 f8 fc fc 81 d4 fb f7 f7 f8 73 b1 e0 ce f4 f2 ea fa f7 f4 f7 f4 9d d4 f1 ed f1 b8 ea .............s..................
af020 f3 f1 a5 ef f6 b5 e7 ec 63 bf e2 b8 df ef ac e3 e5 b2 e5 e8 f0 fa f9 b9 e9 e9 f0 f3 f1 f0 f3 f6 ........c.......................
af040 ed eb ed f4 f5 f7 a7 de e4 a0 dc e4 60 8a a1 49 ac b9 5b b7 92 d1 f9 f2 7d bb c1 ef 86 4c 7a cc ............`..I..[.....}....Lz.
af060 ea f0 fc fb b5 ef ea f3 fa fa 2f 85 cf 28 3e 4e 7e c9 87 46 48 47 f0 f7 f5 b1 e7 e8 fc a6 06 85 ........../..(>N~..FHG..........
af080 00 00 1d d9 49 44 41 54 78 da dc 9c 0f 5c 13 77 9a ff 4d 93 cc a4 93 90 88 34 09 8c 5e c4 b8 18 ....IDATx....\.w..M......4..^...
af0a0 06 a6 49 1b b5 18 e2 c1 1a 84 55 22 35 89 58 da 54 4a 23 bd b6 24 46 fb 6f 01 97 60 14 42 68 38 ..I.......U"5.X.TJ#..$F.o..`.Bh8
af0c0 4a 7e d6 4a d7 b3 91 75 20 6d dd 66 a1 09 3d 5a 6c b6 2d 29 fe ea 76 6d 53 b1 71 59 50 f6 76 b5 J~.J...u.m.f..=Zl.-)..vmS.qYP.v.
af0e0 4a b6 87 76 f7 b6 7f d8 bb 4d ee 3b 93 00 51 6b 0b 7a ee fd 5e bf 07 c9 1f c2 8b 79 e7 f3 fc f9 J..v.....M.;..Qk.z..^......y....
af100 3e cf 77 26 ce 8b fe 3f 65 f3 fe 7f c3 21 08 e2 7f 15 07 06 df 6e 18 07 10 30 b8 85 e1 a0 8e 07 >.w&...?e....!.......n...0......
af120 e3 b8 02 fc 94 a7 50 cc fc 1a 86 61 8a d8 73 f7 f4 8f 15 04 76 d1 ed 86 89 99 df 53 b8 6f 5a 1d ......P....a..s.....v......S.oZ.
af140 d8 cb f1 12 2e 6f f4 b8 97 8b ea 6c 3d 5d 3d f5 3a dc 75 8e 42 98 11 0a 73 d1 e9 92 c5 24 3a 86 .....o.....l=]=.:.u.B...s....$:.
af160 db 24 71 19 5d 74 0e c7 eb c6 5c b6 69 69 5d ae 2b c4 bd 21 67 e9 3d 7d ce 7f ed 1a 72 1d 9b 6c .$q.]t....\.ii].+..!g.=}....r..l
af180 a3 77 8d 8f 19 b4 f5 9c 3a 14 a0 28 86 38 30 75 10 f0 45 6f b7 0e d6 85 71 f0 04 93 35 f3 b1 c5 .w......:..(.80u..Eo....q...5...
af1a0 18 8e 07 65 75 1e bf a7 d1 49 af 6b 1e 88 02 e9 60 f2 27 75 5c 98 b8 11 1c 18 86 09 0c 23 14 51 ...eu....I.k....`.'u\........#.Q
af1c0 c2 76 76 24 a2 66 1b 8e 1e 1b 47 42 29 88 dd 6e 47 52 06 27 50 19 47 c7 19 b4 4a 74 3c 05 ec 22 .vv$.f....GB)..nGR.'P.G...Jt<.."
af1e0 70 34 84 20 48 a0 91 20 30 9c eb 09 a0 74 fe 10 38 b4 c1 20 f4 8f d0 d0 e6 49 1a a7 5f 46 6f a4 p4..H...0....t..8........I.._Fo.
af200 db b4 fe c0 88 5f bf 8a 20 e0 a8 62 8e 38 3c 1c a7 73 65 43 59 0a 82 33 0e 08 ec f6 71 28 22 14 ....._.....b.8<..seCY..3....q(".
af220 22 91 08 2d 62 47 a0 bc 32 e1 49 d9 e0 48 95 37 3c e4 ed ab 09 f6 8f 8f 45 22 f6 31 a6 8d 3e 24 "..-bG..2.I..H.7<.......E".1..>$
af240 1b 34 d0 8e 0e 06 ac 35 1e 88 c5 b6 db c7 68 35 42 44 a9 0d e4 1d 0b a8 b5 10 c2 46 0c 4a 3e 97 .4.....5......h5BD.........F.J>.
af260 e3 9c 3b 0e cc 65 4f 06 98 1c 2c 4b 36 62 27 25 41 10 5a 84 6d 07 38 34 5a 64 5c 18 40 d8 42 08 ..;..eO...,K6b'%A.Z.m.84Zd\.@.B.
af280 6a 6b 1f 6c ee f2 e7 f5 8d b3 01 4e 04 a1 f5 5b f3 ac 10 3b 22 24 a5 f2 83 1b bb 3d e2 2f 10 22 jk.l.......N...[...;"$.....=./."
af2a0 e3 86 88 61 1c 61 fb 59 11 d2 84 93 79 3e 0c 9e 23 0e 46 6f f6 0b 11 c3 20 6a ab ef 9d a0 01 4d ...a.a.Y....y>..#.Fo.....j.....M
af2c0 48 03 7f 9e b2 31 bb 10 1c 3d 22 cc 03 87 04 82 41 76 ea 05 da 18 02 e5 92 de 8c 20 88 90 c5 8a H....1...=".....Av..............
af2e0 90 34 34 88 25 14 b2 ec 11 21 a9 a9 30 22 a4 de d7 88 7e 31 3e 47 9c 2c 0e 50 9b c5 1a f7 b3 ca .44.%....!..0"....~1>G.,.P......
af300 ac 50 e4 26 0c 99 79 48 83 22 14 78 6e 2a 8f 37 37 1c e2 1b ae 07 bc 43 d2 0c d0 58 04 41 6e 8a .P.&..yH.".xn*.77......C...X.An.
af320 86 bc 81 10 24 37 a6 5d 24 82 46 e7 e2 2c 50 d2 f0 1a a0 0b 65 6c 10 09 37 8c 63 87 a0 dc 31 40 ....$7.]$.F..,P.....el..7.c...1@
af340 11 b1 d3 22 10 78 90 3b 36 86 44 c6 7a c3 8a 59 e3 b8 41 f5 e2 9e 39 93 32 ce 66 4d 99 70 22 11 ...".x.;6.D.z..Y..A...9.2.fM.p".
af360 07 a2 7d 17 00 6d 26 c6 d8 76 24 77 e2 25 60 13 48 84 96 1b b3 31 44 88 f4 a2 17 67 5f 77 30 5b ..}..m&..v$w.%`.H....1D....g_w0[
af380 fb a0 df 30 39 29 64 cd e0 e4 5e 81 43 66 c7 75 91 a8 df 04 01 4b e2 80 27 2f bd 94 0b e5 be 64 ...09)d...^.Cf.u.....K..'/.....d
af3a0 18 8b d3 e4 42 79 af a1 3e de ec cb 20 e1 ea 9b 14 fa 21 ff 38 0b 4a c0 19 43 a6 92 2a 02 f2 26 ....By..>.........!.8.J..C..*..&
af3c0 d2 0b 5d 2f ba d9 11 25 70 6d 84 6d b0 53 38 55 b9 b9 bd bd 63 40 a0 29 1a 16 db 3a 10 cf f2 59 ..]/...%pm.m.S8U....c@.)...:...Y
af3e0 e0 80 52 3e 34 18 60 25 9a 10 a4 6a 84 2a 3d 6c ea 80 bf 3f 39 f6 7b eb 1f d9 94 06 76 da e7 42 ..R>4.`%...j.*=l...?9.{.....v..B
af400 16 44 b3 23 93 14 2e 94 db cb e1 fb ac 88 21 35 d5 70 18 28 c4 1e 79 43 cd cc d3 8e 4c d0 28 75 .D.#..........!5.p.(..yC....L.(u
af420 68 11 26 69 3e 1c 9f 35 4e 14 93 8d 1b 12 61 c0 3f 7f 2b 5f 5a 05 de b3 81 4a 0b e4 b5 5a b4 4c h.&i>..5N.....a.?.+_Z....J...Z.L
af440 4d 69 65 47 58 6f 40 a0 fa 21 f6 a3 55 a0 9c 8c d9 0d 4a 67 96 0e 15 2a 25 38 aa ce f1 1d 1d 19 MieGXo@..!..U.....Jg...*%8......
af460 79 c9 6e 40 72 46 f2 98 b9 d0 04 04 31 d9 4c b6 90 29 75 ce 01 47 91 c5 0f 40 57 d0 b0 58 7e 7d y.n@rF......1.L..)u..G...@W..X~}
af480 16 af 0f 41 de d0 e6 b4 1a 22 f6 11 5a 7d b0 0e 81 a8 30 41 8e b6 42 68 9b 61 f2 7d a7 84 df 59 ...A....."..Z}....0A..Bh.a.}...Y
af4a0 c5 b4 87 d0 8b 0a 37 ec ab c7 61 98 37 c4 d5 e7 8d bc 71 34 74 54 7f 34 a7 6d 24 97 c6 66 5b 99 ......7...a.7.....q4tT.4.m$..f[.
af4c0 cc 5a bd 8f 17 8c 2a 66 8b e3 56 d8 64 6c ff 14 cb b8 3f af 8a 35 3e 6e d0 eb a2 12 6d 9e 0f 86 .Z....*f..V.dl....?..5>n....m...
af4e0 87 ea 22 34 25 5f 87 d3 b5 42 c3 d8 98 5f a9 77 f2 f9 b8 57 df ca d7 e9 30 cc 39 40 b7 f1 14 a4 .."4%_...B..._.w...W....0.9@....
af500 c0 18 01 2b 86 0a fc d6 be da 4e ad 5e eb 29 68 56 bf c6 62 33 59 4c 26 0d d5 61 0a 78 f6 2b 3a ...+......N.^.)hV..b3YL&..a.x.+:
af520 46 ef f2 b0 a0 78 52 09 85 d6 b6 14 3f 12 69 1b 00 3d 41 d8 c7 c3 61 cc cb e1 d8 70 9c c8 0a cb F....xR.....?.i..=A...a....p....
af540 3a 3b d5 fc 30 d9 72 b9 09 1d 7c 91 d4 9f c0 f1 e9 06 88 c0 86 06 99 1e a6 96 c9 d4 16 78 40 bc :;..0.r...|..................x@.
af560 00 61 98 2c 36 5b a8 86 71 78 d6 fd 0e 41 e0 b2 a9 ea 07 68 94 ac 80 41 eb e3 fb 24 18 59 8d 08 .a.,6[..qx...A.....h...A...$.Y..
af580 37 e8 39 40 7d 04 ef 3c 0a 2b c0 5f 5d 0c 9a 0f 38 0a bb e1 68 5c 7d f0 fa 74 7a d2 65 5a 0f 80 7.9@}..<.+._]...8...h\}..tz.eZ..
af5a0 b0 5a 99 4a 2b c9 c2 64 5b 95 4c c8 9f a3 20 66 87 a3 80 31 e0 71 fa 20 32 5d 6f 84 21 b4 95 66 .Z.J+..d[.L....f...1.q..2]o.!..f
af5c0 0d 67 61 54 6f e9 76 c3 53 bd 2a 50 44 41 90 3d 33 4c 31 c4 83 8e 7c 37 f1 43 61 43 ed 83 a4 26 .gaTo.v.S.*PDA.=3L1...|7.CaC...&
af5e0 94 28 31 b3 7a b4 3e 0e 9f 2f 51 cc b2 39 75 bb 38 ff d1 d5 d5 ec 47 a6 8b b1 70 12 c5 07 06 24 .(1.z.>../Q..9u.8.....G...p....$
af600 f0 9c bb 47 1c 3f e3 67 5e 6d 1e a5 24 0b c3 88 d9 b6 ee 6e ae 3f 00 9a 12 50 a7 a6 d3 6a b2 06 ...G.?.g^m..$......n.?...P...j..
af620 73 13 ee b9 37 b3 78 50 cb ba 92 05 78 8d 75 34 88 cd 7e 92 20 bc cd 23 1e 96 67 66 65 10 0a 85 s...7.xP....x.u4..~....#..gfe...
af640 81 54 50 3f e1 1b e8 f5 b3 d0 2b 69 f2 98 75 3e be 4d 31 87 c1 06 b3 9d 85 a0 c4 f2 37 11 30 bc .TP?......+i..u>.M1.........7.0.
af660 3c 70 43 23 95 db 4b e7 14 78 06 67 68 fc 4a ce 50 14 23 66 33 67 4d ad 66 b0 4d 3b 99 c8 e3 6f <pC#..K..x.gh.J.P.#f3gM.f.M;...o
af680 45 41 1e 5f f3 6b df 5b d4 c1 1b 83 7f 0d 52 9c e9 39 3c 15 3f 05 29 da 01 1d 3e a7 b1 0f a6 77 EA._.k.[......R..9<.?.)...>....w
af6a0 0d fa a1 29 1e bf df 1f 28 70 62 8b 67 92 72 96 38 a0 16 b8 6d 9c 3a 3f 9b 19 58 b7 73 1d 95 5c ...)....(pb.g.r.8...m.:?..X.s..\
af6c0 4c 96 da 16 bc 9e cf e7 5d 67 d0 24 b8 01 68 26 c3 5f ab 6d 6b e5 2b 14 df 3d 9b c2 bc 58 a9 49 L.......]g.$..h&._.mk.+..=...X.I
af6e0 38 90 db 8d e3 70 3d 9b 69 a5 4d ae 5b ba 65 34 16 37 1e 65 58 37 b7 a1 18 0c 87 74 eb 8c a7 fc 8....p=.i.M.[.e4.7.eX7.....t....
af700 5a 09 a6 c0 c0 1f bf 3e 4d 30 78 8e 1a 8b 5d 36 1b 9c d8 45 7e 23 a9 78 ee 43 3f d3 ff 7e 77 47 Z......>M0x...]6...E~#.x.C?..~wG
af720 47 e5 3a 3f 59 78 20 26 1d 9e 1b 0e ce 6d d6 5a fd 33 59 e5 e7 2e 06 61 a0 b8 16 07 76 53 6a c0 G.:?Yx.&.....m.Z.3Y....a....vSj.
af740 ae 25 15 97 6c e0 65 f8 f8 92 fc 2c 49 fc f7 08 9c 7e a6 b3 a2 b4 72 fd d7 cc c9 9d 66 51 47 65 .%..l.e....,I....~....r.....fQGe
af760 6d 00 04 8e 55 29 95 cc 09 07 8e f2 ea 02 7e 8f c7 13 87 f1 b0 46 da 78 d4 46 c1 b7 e0 50 77 92 m...U)........~......F.x.F...Pw.
af780 fc 2d 19 f2 4b 60 12 77 e6 57 56 2e 5d 15 e7 81 e9 cd 86 25 66 91 b9 c2 33 b9 ee b9 22 51 c7 68 .-..K`.w.WV.]......%f...3..."Q.h
af7a0 6b 9e b0 31 4c 0f c3 73 dc c1 e0 f1 fa 03 2c e1 14 8e 10 99 34 34 c2 d7 ee 62 24 3c 5b fc 5c 71 k..1L..s......,.....44...b$<[.\q
af7c0 5a a1 7c 95 cb 6d ab e8 b0 68 96 c6 c2 87 c0 da 87 5f a9 14 89 cc dd 1e c3 fa 51 51 91 a6 fb 7d Z.|..m...h......._........QQ...}
af7e0 ae 4f 82 63 d8 1c 37 54 08 6f bb 95 85 4c 7b 0a 61 2b a5 f5 a0 51 70 c1 53 c3 fa 15 48 e0 a9 eb .O.c..7T.o...L{.a+...Qp.S...H...
af800 d2 73 0c b1 b8 b4 c2 cb e3 2d 15 59 54 f2 a4 60 0c e7 cc 6f 80 28 00 c7 b0 6e 0b b8 d7 24 0d 17 .s.......-.YT..`...o.(...n...$..
af820 c0 f8 dc f6 77 c0 31 dc 18 c7 13 98 c9 2a bf 7a 20 8c 63 57 ec 1d 5c 8d 23 b9 54 e9 30 aa 1c 5b ....w.1......*.z..cW..\.#.T.0..[
af840 f2 6d 51 80 63 61 54 1e 74 81 57 dd ae 33 3b b3 45 22 91 bc 62 98 ba cf fe 95 ff 65 49 1c 67 31 .mQ.caT.t.W..3;.E"..b......eI.g1
af860 58 5d 41 b6 2b 78 df a7 0e 81 61 b2 32 50 90 a7 78 84 01 2d 8c 7f cf 3a 05 d4 71 18 05 96 8c 51 X]A.+x....a.2P..x..-...:..q....Q
af880 97 73 69 91 45 20 2e 4d 92 38 61 2c 78 ec 24 29 8e a8 72 7f ef 73 1d 22 51 d1 28 bd 5e 12 3b c4 .si.E..M.8a,x.$)..r..s."Q.(.^.;.
af8a0 62 d0 26 f5 1f 3b d6 3f 80 5f 1d 46 f3 ae fa 01 0e d3 65 83 01 68 06 87 05 41 f5 31 6d e2 42 c3 b.&..;.?._.F......e..h...A.1m.B.
af8c0 f1 f0 8d 8b 04 c3 a0 af b8 30 6a 12 1b 55 0d 95 f9 df 54 68 2c 46 b1 69 54 07 83 1e af ec 43 10 .........0j..U....Th,F.iT.....C.
af8e0 39 22 d1 96 cf 4e 90 f7 9a a4 46 1e d5 82 e0 3a a7 ac cb 13 40 90 49 6d 98 b8 46 1d f8 0a 57 ad 9"...N....F....:....@.Im..F...W.
af900 a2 0f b2 a1 09 d0 56 93 83 3d f8 1a 47 46 0a 6c 04 9e e0 9d 78 9d 9b 2a 77 30 19 52 c1 72 91 98 ......V..=..GF.l....x..*w0.R.r..
af920 94 a7 fb 9b 25 72 b1 c0 28 a8 bc 1c 84 5d 43 e8 7a 0d c0 28 da b2 6e bd 99 f2 15 17 b4 8d 0a 1c ....%r..(....]C.z..(..n.........
af940 c7 e9 75 e3 08 e8 04 d9 ac 40 23 7c 2d ce cc 8f dc 18 8e 0f 79 84 10 69 a0 23 1d 0f b1 c7 0d 23 ..u......@#|-.......y..i.#.....#
af960 79 fc c5 57 25 d2 54 fd 99 a9 d2 c1 fc 6e b1 40 a0 72 54 1e bc 9c dd 60 34 8a 8b 93 5c 3c 7a b3 y..W%.T......n.@.rT....`4...\<z.
af980 b2 9b f4 55 c6 e8 ba ee 0c 91 a8 43 de d5 e9 a2 87 71 19 97 3b 08 7a 28 ca 90 b3 f5 a0 99 54 5c ...U.......C.....q..;.z(......T\
af9a0 27 76 08 af ec 58 59 dd 20 35 4a 41 42 61 5e 9b 1a 2c 76 a9 f5 38 2f 1e 71 bc c4 85 31 7e 17 77 'v...XY..5JABa^..,v..8/.q...1~.w
af9c0 dc c1 a5 0d 46 81 00 60 1c 04 41 4d 7a 0b ff 46 36 be 6e a9 88 72 d2 2b a3 e0 ce 9c ff b5 b5 6b ....F..`..AMz..F6.n..r.+.......k
af9e0 58 db 95 39 3c 19 87 01 f2 f8 d1 55 1c 2f 58 0a bf 0d 87 80 db bf 1e 31 c4 3a 63 2a 74 d8 fe 56 X..9<......U./X........1.:c*t..V
afa00 1e 2f 0b 73 f3 e0 ab ca 8c 2b be ff 44 f5 8c 51 89 d7 05 07 93 4c a4 3c 8c d1 83 a3 0c b1 51 cc ./.s.....+..D..Q.....L.<......Q.
afa20 c8 e6 34 9f 1d 3f 41 fa 48 64 5e 44 fa aa a8 bb 2e f3 70 ed 87 2f fc f3 0b ff 94 7a f8 b0 87 cd ..4..?A.Hd^D......p../.....z....
afa40 f6 90 38 c2 46 ae a7 0f f7 ba 40 1b 1c 2b 47 f3 12 87 06 56 40 78 c5 bc 89 28 25 e4 64 f0 1d 1b ..8.F.....@..+G....V@x...(%.d...
afa60 ba e0 96 77 e9 72 56 30 78 b9 03 e0 08 8c f2 cb 15 20 b5 8c 25 95 9f fd 86 35 f9 8a 86 c2 39 d1 ...w.rV0x...........%....5....9.
afa80 dd 51 28 d2 6c 7b 7f d1 c6 9f 6f 9d 0f ec 8b 6e ce e4 18 8d 19 13 68 d0 6f ed 2c e0 ca fa cf 70 .Q(.l{....o....n......h.o.,....p
afaa0 c8 9d e1 44 9c 2c 8e 1f ba 72 fa 55 d3 e1 ef d9 5f 8e ba cf 5d aa ac 1c cd b7 f1 2a 1c 02 41 8b ...D.,...r.U...._...]......*..A.
afac0 4a 54 91 6f 56 19 05 2a f3 96 e7 52 87 77 76 90 38 a5 3b 9f 13 15 16 8d 56 6c da 9e fc fa 0f 9e JT.oV..*...R.wv.8.;.....Vl......
afae0 02 76 cf 6d f3 97 d5 0d db 63 ee 22 f7 67 84 67 27 85 e3 e3 5c 72 6b 3a d1 59 74 96 5f c8 26 33 .v.m.....c.".g.g'...\rk:.Yt._.&3
afb00 8a da c5 61 b1 0c 05 92 6f eb d8 a6 23 d9 4d 75 7a 97 2b 1b 18 e5 15 ae fc 42 55 89 aa c5 51 9a ...a....o...#.Muz.+......BU...Q.
afb20 2f 07 2a 59 8a cd e6 a5 27 d7 93 38 9a 51 4d 76 b6 79 c5 82 25 f7 2d 04 46 f2 24 6f 4f de bd fc /.*Y....'..8.QMv.y..%.-.F.$oO...
afb40 b3 43 2c 8a c7 c3 64 b3 3c 7e c0 35 d9 a7 a3 ea ce 94 00 ee 73 0a 2d eb 28 5b c8 f2 1f 1e 3e 3c .C,...d.<~.5........s.-.([....><
afb60 4e 32 f9 df 0f 63 df 36 26 c7 87 19 30 5d 81 5b e7 85 4a 86 45 55 58 7e b9 42 d0 d2 22 10 67 2c N2...c.6&...0].[..J.EUX~.B..".g,
afb80 91 3b c4 2d e2 0c 73 a1 79 3d 99 58 c5 e6 16 b1 7c c7 8e 1f 3f fa cc 33 f3 48 9e 85 f7 00 9e 8f .;.-..s.y=.X....|...?..3.H......
afba0 96 6c 7d 3b ff 30 8b 9d 60 c2 b6 7a 98 c2 e1 c1 53 bb 4a 59 be 56 eb e4 f8 1b af 2c da f6 61 2d .l};.0..`..z....S.JY.V.....,..a-
afbc0 92 39 7c d8 33 bd 0b 74 ed d2 19 ab 3d 20 d7 16 db 92 8a c5 02 8b a9 bc 82 a1 02 38 8c f2 6e 93 .9|.3..t....=..............8..n.
afbe0 a5 c5 92 61 06 f5 06 24 54 51 b6 43 6c 29 96 3f fa cc 86 0d fb 36 7c b9 30 2e 50 f2 82 86 15 2b ...a...$TQ.Cl).?.....6|.0.P....+
afc00 17 1d 4e a4 29 40 c9 f9 19 38 0b e0 b8 25 5e 89 64 48 76 e6 4c fb f0 f0 f0 a1 f1 c6 fc 15 3b 16 ..N.)@...8...%^.dHv.L.........;.
afc20 2c db 76 6e 68 28 7c dd ce 64 7a e4 8b 06 0f 8e 3a 54 25 16 87 bc d4 22 68 11 34 64 24 c9 e5 c5 ,.vnh(|..dz.....:T%...."h.4d$...
afc40 2d c5 20 99 cc 60 a1 32 67 34 08 2c 45 3f 7a e6 b1 0d 1b 36 3c 76 e7 eb 53 3c bb 3f a9 2e dd 95 -....`.2g4.,E?z....6<v..S<.?....
afc60 83 24 f0 b0 d8 e9 1c 82 8a 1d 85 fb e2 a5 cb c0 3e 3c 71 e2 43 f0 7d 62 5d ed 1f ff 98 5a f1 b3 .$..............><q.C.}b]....Z..
afc80 7b df f9 d9 c6 5d 07 83 43 24 d1 77 0e 33 b6 a4 52 8b 11 e8 22 67 80 e4 32 9a 32 b6 88 4a 8b 8b {....]..C$.w.3..R..."g..2.2..J..
afca0 8b 49 65 c0 f2 c9 30 89 c5 85 3f 02 e2 90 3c f3 d6 90 38 64 40 cf ff 85 e8 c4 88 3d 81 c6 ef 87 .Ie...0...?...<...8d@......=....
afcc0 f4 31 1c 58 72 69 e3 82 bd 2b 1f 07 b6 92 b2 bd 7b 77 6c 29 ff f1 c6 b7 f7 3c b0 e7 ed 05 5f 5d .1.Xri...+......{wl).....<...._]
afce0 f6 0e 7d e7 e0 c9 73 ad 1a 35 a9 04 46 15 a3 d4 a1 32 1a 1d 95 66 b0 a4 57 92 51 5c 39 aa e9 60 ..}...s..5..F....2...f..W.Q\9..`
afd00 30 c4 d5 a6 9d cf 50 3c 8f 7d 10 93 67 e1 c2 a7 9e fa e2 17 eb 0f 0d 26 a8 a3 2c d0 3b a7 32 cb 0.....P<.}..g..........&..,.;.2.
afd20 15 d4 e5 7f 75 7e c5 11 c0 f4 ee bb ef 3e fe ee e3 31 b4 77 df de b3 79 f3 9e 77 16 ec 3a 38 64 ....u~.......>...1.w...y..w..:8d
afd40 fb 0e 9c a8 2d bf 52 20 36 02 9e e2 06 50 02 4b 3b 2c 25 72 b2 bf 91 67 57 6e 61 88 1c 2d e2 5d ....-.R.6....P.K;,%r...gWna..-.]
afd60 7b 4f df f7 cc b4 3c 00 e9 f5 35 4f dd 76 a4 f8 0d 7f 42 30 a3 b1 c5 6f 1e 75 82 25 0a 07 65 ff {O....<...5O.v....B0...o.u.%..e.
afd80 a1 de b9 e0 f1 27 ee 7a f8 8e 87 1f be eb 89 27 00 0c b0 53 7f 7d 60 f3 e6 cd f7 fe fc fc 65 9b .....'.z.......'...S.}`.......e.
afda0 cd 05 bb dd f1 ac 9a 9e 13 c8 a6 46 02 46 97 0a 33 c0 31 36 8c 56 8a 54 e2 52 d0 f1 14 6f 01 34 ...........F.F..3.16.V.T.R...o.4
afdc0 66 91 a6 b2 24 a3 41 55 d2 f2 db 23 2b ff b2 e1 19 52 9e 85 53 f6 d4 d3 9f bc 3c c2 8a f1 44 d8 f...$.AU...#+....R..S.....<...D.
afde0 08 c2 c7 a9 59 27 5e 77 08 de b1 c9 50 ed af 36 fe e9 cf ff f5 c3 1f fe f0 1f ff f1 bd 3b ee 00 ....Y'^w....P..6.............;..
afe00 50 00 e9 d4 c7 8f 00 a0 3d 6f af d8 a5 1b 3a 07 c3 2e 49 94 97 e8 39 5e f0 d2 65 5e 50 a2 20 db P.......=o....:...I...9^..e^P...
afe20 9c ea 62 b9 43 5e 6c 01 38 2a 10 36 1d d9 e4 b2 09 70 c4 2d 02 4b da 57 a7 16 90 02 ed 8b 45 0f ..b.C^l.8*.6.....p.-.K.W......E.
afe40 b0 35 c9 7b 6b 47 20 68 42 e8 01 cd 2f db af ac 4f 5c b3 08 0c 6f 6f 2d 18 1f ce 1c fc 95 66 c1 .5.{kG.hB.../...O\...oo-......f.
afe60 ed 07 ee fc e0 d9 7f 88 31 91 48 2b 1f 01 12 3d 70 ef 8e af 0e da 6c 97 2e 0c 79 5d 09 f9 c5 5b ........1.H+...=p.....l...y]...[
afe80 52 5a 5a 91 9f 35 74 61 b4 d0 52 92 6d b2 08 e4 a6 d2 42 b1 25 43 5e 28 2f 2a 2c 14 99 55 85 4d RZZ..5ta..R.m.....B.%C^(/*,..U.M
afea0 bb c4 c0 2c c6 23 7b ef db 37 23 cf eb 0b d7 6c fd e9 a4 55 a9 64 b2 95 4a 76 9b d6 47 cc e0 10 ...,.#{..7#....l...U.d..Jv..G...
afec0 51 5b ff b1 be 3a 0f a8 80 81 cc cc b3 17 4e 2f 4f fe f2 ce 0f 36 3c 0a 90 de 7b ef 8e 87 9f 38 Q[...:........N/O....6<...{....8
afee0 b5 f2 af 7b 48 89 7e 76 fe 60 fe 8e 8d f9 2e 5b 7c c0 53 38 83 4b 8a c5 25 8c 8c ee fc 0b 97 46 ...{H.~v.`.....[|.S8.K..%......F
aff00 19 96 6c 90 45 8c 72 4d a1 58 5c bc e5 93 15 1f 7d b2 62 41 b6 ca 58 fd e9 a7 c6 f2 af d2 2c 69 ..l.E.rM.X\.....}.bA..X.......,i
aff20 1f ad fc d1 33 f7 dd f7 65 4c 9e e7 9f 5f f8 60 13 92 42 59 5b 99 3e 8c 25 e0 60 e1 ba 40 00 6a ....3...eL..._.`..BY[.>.%.`..@.j
aff40 65 fa fd c2 de 57 96 2d 3b b0 ec f4 13 6f 3d ff fa 97 f3 3e d8 f7 e8 b3 3f 7c 0f 10 dd f5 c4 a9 e....W.-;....o=....>....?|......
aff60 77 df 01 44 0f bc bd f1 fc bd 7b 36 ed fa 06 08 a4 e0 e9 9c 92 4b a5 2d 0d 26 95 b8 a1 b0 3b 29 w..D......{6.........K.-.&....;)
aff80 29 db 91 41 36 a6 85 72 12 e7 91 07 48 db fc 62 75 b9 b1 e9 3f 57 6f 7f f0 8b 34 b1 e5 17 7b 9f )..A6..r....H..bu...?Wo...4...{.
affa0 7d f4 89 4f e3 f2 6c 4f 7e fe fc d7 80 25 3d bd 2c a5 80 9f 95 d8 60 c0 dc 00 c2 f2 78 c0 fa c0 }..O..lO~....%=.,.....`.....x...
affc0 1a cb c9 d8 3a 7f f7 3d f7 dc 73 db 3d 6b 16 be fe e5 9d 1b fe 6d c3 3f 00 89 de 7b f8 ae 53 a7 ....:..=..s.=k.......m.?...{..S.
affe0 1e 7f e7 81 cd 0f bc f3 f1 03 9b f7 6c 74 49 08 97 d7 1b e5 2d 31 89 19 26 10 ab 96 6a 46 46 65 ............ltI.....-1..&...jFFe
b0000 76 a1 5c 0c d6 2d 12 a7 9c cc 00 60 8f 34 7d b1 7a f9 ea 5f 66 66 de fe 56 9a d1 f2 8b 1d 8f fe v.\..-.....`.4}.z.._ff..V.......
b0020 e5 c8 17 b1 64 4f 3e f2 e0 e9 e6 74 80 d3 8c d2 eb 61 57 02 8e 02 6e 0f 90 8e a2 d6 a9 c9 cc c1 ....dO>....t.....aW...n.........
b0040 0f 97 6d 4f be 8d 5c 7a d7 ac 59 08 80 de 7c ec d9 98 d3 ee 7a e2 dd 8f 1f 79 60 0f 19 48 0b 82 ..mO..\z..Y...|.....z....y`..H..
b0060 fd c7 9a 0b fa 2f 75 0b 54 26 47 49 49 09 68 75 54 25 85 9a 4a 51 83 d8 c2 30 59 2c 9a 47 62 38 ...../u.T&GII.huT%..JQ...0Y,.Gb8
b0080 9b 2b fe f0 d5 df 0a 32 0d 23 99 0f 56 a4 95 58 3e 3a fd a3 df 7e b4 f5 79 ca 5b 47 76 9c 3e 99 .+.....2.#..V..X>:...~..y.[Gv.>.
b00a0 92 62 0d 59 fb 74 b0 cb 9d 80 03 47 b9 fe d8 32 4e 2e e7 c8 4b 87 32 07 53 f7 7f 4a 11 ad 59 b3 .b.Y.t.....G...2N...K.2.S..J..Y.
b00c0 06 44 d1 9b fb 62 12 bd 47 12 fd f5 1d 92 67 c5 d9 43 63 86 e1 6d 45 96 26 b0 0a c4 cc 28 6e 71 .D...b..G.....g..Cc..mE.&....(nq
b00e0 64 94 8a 18 2a 4b 89 aa fc 67 8f 3c b2 87 74 d7 d6 4f bf 38 90 39 32 9c 79 e8 a1 b7 d2 4a c4 e2 d...*K...g.<..t..O.8.92.y....J..
b0100 15 7f 3a bf 7d e7 26 52 9f e7 4f 5f 3a 52 17 2a a8 a9 51 73 ae 1a 6c 78 84 44 cf 16 8e b3 94 6c ..:.}.&R..O_:R.*..Qs..lx.D.....l
b0120 d0 50 1b c6 72 c7 5e 3a f4 fe b6 8a f3 9b 9e 4e be e7 a9 1f ac 59 b8 06 04 d1 63 6f 3e f3 2c 45 .P..r.^:.......N.....Y....co>.,E
b0140 04 72 ed ae 53 20 b0 f7 6c 14 1e 8a 1c de 69 12 37 31 54 82 69 03 51 64 2a cf 30 35 a5 15 ef 3d .r..S...l.....i.71T.i.Qd*.05...=
b0160 15 b3 8f 37 2d b3 67 fe fb 43 3f f9 f7 df af 6e 32 b6 a8 04 47 de 3e 70 e8 12 e9 af d7 4f b7 27 ...7-.g..C?....n2...G.>p.....O.'
b0180 e9 43 29 3e fc ca 7d 91 79 54 50 72 d8 79 c0 57 af b5 b5 d1 46 72 73 c9 33 3c ef f3 93 36 6d 7d .C)>..}.yTPr.y.W....Frs.3<...6m}
b01a0 7a 7e 0c 88 0a a2 7d fb 36 50 4e a3 dc f6 f1 9e 7b 37 46 0e 1d 5a 6f b2 a8 5a 4a 04 82 44 a0 16 z~....}.6PN.....{7F..Zo..ZJ..D..
b01c0 47 91 c6 a4 d9 0b ca fb 29 b2 8e 76 fc d3 f0 2f ef bf 7f f5 fd 0f 6d 27 bb 57 f1 57 5b c7 32 87 G.......)..v.../......m'.W.W[.2.
b01e0 9b 1e 04 7f 72 f9 af b5 ad 21 2b 07 b4 be bc ab 5b 77 4c 16 28 48 61 b3 20 26 2d 37 17 34 ed e4 ....r....!+.....[wL.(Ha..&-7.4..
b0200 b9 85 43 87 ce 2e 5a 3e 7f 37 e9 31 12 68 21 90 68 c3 9b 6f ee 8b 25 3f 20 fa f9 e3 2b 94 99 27 ..C...Z>.7.1.h!.h..o..%?....+..'
b0220 4a 0b 19 0d 60 b9 6a 4a e0 21 a3 88 91 b1 62 ef 13 a4 ad dc a1 f9 e9 2f 9f fc 49 66 e6 fd f7 3f J...`.jJ.!....b......../..If...?
b0240 b8 cb 28 30 5a 32 fe f2 2f f3 57 df 7d 3e 19 a4 d6 af 07 d3 43 29 1c 02 be 76 0a 25 bc 8d 27 6b ..(0Z2../.W.}>......C)...v.%..'k
b0260 d2 99 fe 3c da 44 0c 87 3a db 9a d9 7c 79 d3 d3 54 4c 93 2e 03 44 a0 16 ed db f7 d8 86 78 89 bc ...<.D..:...|y..TL...D.......x..
b0280 6b c1 89 cc 97 17 55 64 14 9a 1c 2d 2a d5 b4 cb 40 60 1b 81 46 8c 1f ff f9 8e 3b fe bc b1 48 f3 k.....Ud...-*...@`..F.....;...H.
b02a0 eb e4 bb 33 33 ff 65 ed ab f7 37 55 97 08 d2 96 1d 48 fe c9 dd 4f de fd a7 d7 17 6e ff 69 81 f6 ...33.e...7U.....H...O.....n.i..
b02c0 a8 3a 1c fd 16 1c 50 95 15 74 66 c0 ff 1a 94 3b 06 d1 e2 38 f6 31 c3 a1 af 0f 2e 78 fa b6 7b 28 .:....P..tf....;...8.1.....x..{(
b02e0 20 40 b4 86 ac 45 1f 6c f8 b7 37 df 7c ec 51 10 4a 7f de 5b 51 9b 99 f9 f2 b2 ca d2 e2 42 53 93 .@...E.l..7.|.Q.J..[Q........BS.
b0300 6a 0a 89 72 5e 4b b5 b8 65 d7 52 51 8b a9 63 d1 ee ff 33 f2 d2 ea b5 6b 57 5b aa 41 57 b4 2c f9 j..r^K..e.RQ..c...3....kW[.AW.,.
b0320 27 87 1e 7a 75 b7 e8 c1 35 cb ff 10 1e 88 0f c9 d7 ce 59 04 81 d1 5b 99 65 55 b9 f6 3c 21 89 23 '..zu...5.........Y...[.eU..<!.#
b0340 84 d8 10 3b 0f 19 3f fc f5 0b 2b b6 26 93 40 f7 90 44 0b c9 62 34 ef ce 0f 00 d4 3e c0 b4 e4 f4 ...;..?...+.&.@..D..b4.....>....
b0360 92 13 eb cd 2d 2a 86 48 53 9a 21 32 39 04 60 39 30 4e c7 92 58 dc a0 32 65 ac 7f 72 fe 81 d5 0f ....-*.HS.!29.`90N..X..2e..r....
b0380 fd 6d ed 83 69 60 cd 4f 5b be 3b 33 73 f5 da dd cb 76 3c bf 7c 55 14 bb 76 f3 74 a6 75 c7 f0 f0 .m..i`.O[.;3s....v<.|U..v.t.u...
b03a0 00 5d aa ae ad ea 05 38 55 56 16 c4 6a ad ca b3 b3 0e 1d a6 7f b2 69 3e e5 b3 a7 62 44 c0 00 d4 .].....8UV..j.........i>...bD...
b03c0 97 5f de 09 b0 ee 3b 9d dd d2 62 34 5a 54 25 8e c2 62 4d 31 40 32 4e cb 04 c6 3f 15 43 b3 fe c9 ._....;...b4ZT%..bM1@2N...?.C...
b03e0 b5 40 9a b5 6b 97 a5 81 a0 4f 7b fa fe 87 6e ff db da dd eb f7 bf b5 22 08 7f e7 86 8a 22 8a 13 .@..k....O{...n........"....."..
b0400 ba 7e 3f cb ca 42 22 48 5e 88 e5 9f c8 29 60 db ed 91 b1 02 d9 c0 57 2b be a0 24 22 91 7e b0 26 .~?..B"H^....)`.......W+..$".~.&
b0420 c1 e6 69 aa 05 2f fc 2b bf ab 76 bf 51 2c 16 38 18 a5 95 d9 45 26 06 88 6f 31 89 d4 a2 6a 32 3b ..i../.+..v.Q,.8....E&..o1...j2;
b0440 6e 5f 4b da ff b5 38 44 22 46 da 76 f0 e8 f6 b5 f3 7f 57 bf f2 fc d0 77 ef ef 50 d7 b6 d4 2b 21 n_K...8D"F.v......W....w..P...+!
b0460 e8 a4 3a 82 44 0c 10 92 e3 44 d9 63 63 86 5e fe 62 9b e4 e2 a2 8f 76 2c 4f be 0d ac 1e d4 a4 04 ..:.D....D.cc.^.b.....v,O.......
b0480 16 91 e7 6f 4b 4e 7e f0 f6 4a 47 75 c3 0b 27 7e f9 d0 89 fd 0d 54 9a 8b 19 c5 c5 85 85 45 20 be ...oKN~..JGu..'~.....T.......E..
b04a0 19 54 79 b4 64 14 2e 7a 95 c4 59 96 e6 28 11 34 a5 bd 48 3e 7e 75 f4 0f df fc 78 97 6d 16 db 4d .Ty.d..z..Y..(.4..H>~u....x.m..M
b04c0 58 3d 9f 23 91 b4 55 f1 51 3d df 49 f0 38 6d d6 93 fc c5 c1 4b 4b 35 a2 0c 8d f9 93 23 7b 37 2d X=.#..U.Q=.I.8m.....KK5.....#{7-
b04e0 df 3e 7f fe ed 2f 3e d7 ad 29 92 37 71 b7 69 aa ab ab 77 9d be 7d de 81 26 63 bc 34 1b 2d 4d 0c .>.../>..).7q.i...w..}..&c.4.-M.
b0500 53 93 a0 a9 c9 41 e1 88 1d d9 e2 4f 5f 5d fb ea f2 34 47 61 43 8b a9 64 3d 89 f3 d6 7e 9b 6b d5 S....A.....O_]...4GaC..d=...~.k.
b0520 2c b7 b9 31 1c 53 38 6d 98 0e d7 e9 14 0a 9e 33 ec 24 5c 17 96 9a c4 16 71 83 83 c1 60 14 fe 16 ,..1.S8m.......3.$\.....q...`...
b0540 58 75 03 a0 48 63 54 ec cc 10 57 ef ff cb bc 79 07 f6 57 57 83 84 2a 51 c5 d2 0a 14 1e b2 fe c4 Xu..HcT...W....y..WW..*Q........
b0560 e3 b9 48 93 b6 6b d9 ae 34 86 48 2c 10 97 98 2c 20 8a de ca 08 4a ae 1e fb af 8b 43 f9 0c c3 71 ..H..k..4.H,...,.....J.....C...q
b0580 6a 64 8e 2a 30 0c 0b 26 15 5a c8 f7 5d 2d ae 16 83 89 ae ba da 58 0d c6 5e a3 43 9e 51 bd 7f c9 jd.*0..&.Z..]-.......X..^.C.Q...
b05a0 81 f5 77 ef af 36 c6 2b 8e 4a 50 d2 12 af 3d 80 8e 7a ac 12 17 8b d2 d2 2c 2a c6 8b bf ad ae 2e ..w..6.+.JP...=..z......,*......
b05c0 17 a5 89 3f fd b4 e3 b8 84 17 25 e6 b2 eb 7e e5 4e db 52 a3 31 61 1d 20 9f 80 03 89 19 0c 55 53 ...?......%...~.N.R.1a........US
b05e0 fe ef 80 4e 0d d4 ab 2d 14 c6 54 6d 2e 69 99 7a dc 52 02 3a 0e a3 d8 31 7f fe 8b 4f bf d8 22 16 ...N...-..Tm.i.z.R.:...1...O..".
b0600 88 44 c7 bd ee ef d9 aa 84 bf 75 7f 36 3e 46 2d 11 89 05 d7 58 b5 80 4c e7 2b 38 49 9c 99 e7 53 .D........u.6>F-....X..L.+8I...S
b0620 64 a0 17 ca ce b0 88 19 f3 9f 7c 72 f7 ef c4 26 79 92 cb 75 53 57 c6 c1 15 0e d5 d5 30 2a 81 49 d.........|r...&y..uSW......0*.I
b0640 4c ca 61 2c a1 80 a6 0e 6d 9c 16 70 4a 30 b1 a5 c4 a4 29 4f ca 28 6c 28 4f be 7b 99 a9 b8 fc 9f L.a,....m..pJ0....)O.(l(O.{.....
b0660 5d 24 0e 7c a3 38 3c 58 51 ee 68 b9 02 45 05 1a 71 47 06 e8 f9 aa 5b c0 81 c1 f7 15 aa 4c 71 b5 ]$.|.8<XQ.h..E..qG....[......Lq.
b0680 80 5f 53 35 31 32 b6 8c 2e 2a 63 f3 d7 77 8b 8a cd c5 85 97 71 d7 cd 5d 37 e8 76 bb 2a 4c 60 b9 ._S512...*c..w......q..]7.v.*L`.
b06a0 89 99 c5 42 1e c2 24 2a cd d6 94 16 9b 1c 62 ca 40 26 95 5c 25 1e 40 06 9d 50 61 86 7c 4b e5 ef ...B..$*......b.@&.\%.@..Pa.|K..
b06c0 ea ce 9e 4d 61 a7 17 d4 7e 76 dc ed f5 7e df e9 b9 ef c3 39 ee 76 5d 96 17 32 18 0e 32 cd 19 85 ...Ma...~v...~.....9.v]..2..2...
b06e0 a2 8c 52 79 b6 bc b4 03 0c 99 45 c5 d9 d9 c5 45 85 26 53 06 c3 12 a7 25 57 76 0b a8 c7 80 b8 10 ..Ry......E....E.&S....%Wv......
b0700 bc aa 31 67 af 6f 64 a7 34 93 e3 c2 d9 32 1b 1e 85 dd 8a 9b be aa 12 4c 76 49 e5 e5 dd e5 f2 ca ..1g.od.4....2.........LvI......
b0720 ec 6c b3 46 d3 41 a2 90 1b a2 1a b3 3c e9 c4 b6 ee 4a 30 fa 6a 4c 26 07 28 7c 0e 86 c3 04 a4 03 .l.F.A......<....J0.jL&.(|......
b0740 c4 72 b3 b9 a3 a8 a8 b4 fc c3 c1 f4 74 6d 4a 08 34 36 6d be 59 9d b7 9c 45 28 e3 5e af cb 4d 48 .r..........tmJ.46m.Y...E(.^..MH
b0760 f2 c1 58 59 48 82 14 75 74 68 cc e6 ee a4 5f 69 87 0f 0d 33 d7 2d aa 18 05 7a 99 e5 c0 c0 8a 25 ..XYH..uth...._i...3.-...z.....%
b0780 37 93 c0 24 b1 46 be a8 eb 6c 7a 4a 7a db 51 6d 99 1a 95 e0 ff 43 d7 9c c2 30 18 ce dd 2e 18 ae 7..$.F...lzJz.Qm.....C...0......
b07a0 c8 d6 00 33 cb 4b 4b cb d7 6f 4b 2d 18 19 0e 44 58 34 43 40 ef 5d 05 3c ba ea c2 c1 83 ab 2e 2c ...3.KK..oK-...DX4C@.].<.......,
b07c0 a5 94 2b 02 5f 1d f2 24 6e 28 3d 9d 1c 5d b4 65 9d 03 3a 62 0e 38 30 d9 af c2 33 97 ad 5c 73 e2 ..+._..$n(=..].e..:b.80...3..\s.
b07e0 8a ba 7a e0 78 7e 52 45 52 d2 fe fc d4 cf a1 c9 c3 01 88 46 19 1b 0d e2 e4 de 03 2c e1 b9 24 00 ..z.x~RER..........F.......,..$.
b0800 87 0c 2a 00 63 ee fe 0c 44 70 cc ac d6 f4 01 1c 87 e7 aa ce f7 9d dc 81 6d 5e af c4 7b 6e a8 39 ..*.c...Dp..............m^..{n.9
b0820 17 a2 b1 69 71 cb f3 f1 a6 b7 a3 e0 c5 dd 1d 40 18 00 53 ba 8d f4 53 dc aa d2 41 18 cf f2 ec 7b ...iq..........@..S...S...A....{
b0840 62 bf 03 cf c2 71 38 bd 4e 39 41 03 d2 4c c4 70 90 a3 3c dd 74 59 1b 4a 32 8b 8a 34 e6 f2 45 65 b....q8.N9A..L.p..<.tY.J2..4..Ee
b0860 64 d0 4c 59 4a 08 9d be a6 f4 7b 71 dc ee d9 5f c5 80 2b 30 9c 9b 4b 9b 31 08 32 d4 4a 78 33 57 d.LYJ.....{q..._..+0..K.1.2.Jx3W
b0880 d0 1d 2c 95 97 57 7c d6 7c 36 14 8a 09 13 4a 01 49 95 ae 77 2e 9e f5 e5 d3 09 38 8a e8 b5 8f ae ..,..W|.|6....J.I..w......8.....
b08a0 3a 0d c8 09 eb 91 69 98 89 3f f6 2a d5 f5 f1 0b 55 dc 6e c2 2b 93 b9 8f d7 0d 9e 4d 8f f9 29 1d :.....i..?.*....U.n.+......M..).
b08c0 54 1c 2d ca 45 7d 4e 78 d6 17 4a cc 83 dd df 12 c0 8a 6f 8d 69 c2 db ee b7 36 ce 68 33 f1 9b 81 T.-.E}Nx..J.......o.i....6.h3...
b08e0 b0 0e 9f c6 19 3a d6 1c 2a eb 09 15 c4 76 49 c0 b7 36 14 2a 73 62 30 1e 9d bd 25 9e 5e 73 5f 37 .....:..*....vI..6.*sb0...%.^s_7
b0900 b3 a6 b7 e5 0d 10 14 99 e1 51 3b 09 85 7b ea 1c 24 de ae ac 0a 55 4d c5 af f6 68 57 8f 4f df c8 .........Q;..{..$....UM...hW.O..
b0920 ff 0e ad 6f f6 5a 77 8c 03 e6 d4 19 6d a0 37 ea 75 e4 69 49 05 75 e1 11 3e 44 f9 88 8a 5d 32 6a ...o.Zw.....m.7.u.iI.u..>D...]2j
b0940 7a ea c3 3a d8 35 d7 4b 48 e6 86 33 16 a1 41 09 40 39 3a f2 bc 04 88 1a 7a 7f 3b 5f a6 4c 99 b1 z..:.5.KH..3..A.@9:.....z.;_.L..
b0960 50 9e 14 c7 a2 30 76 2b 3f 09 a0 b0 85 68 79 7e a5 b2 97 62 99 98 18 a9 c5 62 6e e2 74 59 43 29 P....0v+?....hy~...b.....bn.tYC)
b0980 9d a1 19 18 6d 55 01 8a 83 e6 04 56 dc 42 1c 58 96 3e f1 9a 32 af 4d c9 9a 20 71 72 df 8f 2d 8b ....mU.....V.B.X.>..2.M...qr..-.
b09a0 d8 50 57 28 c1 4d 5a 6d a8 59 3f 40 97 dc e2 cf 49 c0 d1 a0 76 c4 4e 8b 18 c8 70 9e e8 cd 3b 99 .PW(.MZm.Y?@....I...v.N...p...;.
b09c0 33 a0 a3 a2 14 e7 5a e3 aa 50 40 cd 7a 7d 23 7d 4e e9 74 43 38 2e 59 5d 0a 44 9b 88 20 10 a8 ca 3.....Z..P@.z}#}N.tC8.Y].D......
b09e0 ac 1c 1b 4c c4 52 86 70 d5 85 a6 71 8e a6 5b 0b 7c 38 8c c3 d1 5b 8d 43 b4 06 a6 c3 78 c2 10 a1 ...L.R.p...q..[.|8...[.C....x...
b0a00 eb 78 b1 4b f4 5c 20 c3 53 c8 95 9b c2 91 a6 f2 61 fc 86 69 e6 80 73 1c 85 12 70 72 78 60 16 bb .x.K.\..S.......a..i..s...prx`..
b0a20 08 c6 fa 73 67 b8 d2 50 1c 27 94 52 e0 d3 25 76 06 b7 10 c7 cb 29 98 c2 81 de 47 79 3a ba 8c cb ...sg..P.'.R..%v.....)....Gy:...
b0a40 71 e2 41 49 9d 55 9b 42 55 1c b2 a3 90 52 1f 78 50 28 6e 39 0e ce 81 a6 6a ce 04 1b a5 c3 dc ae q.AI.U.BU....R.xP(n9....j.......
b0a60 50 a8 59 ca 39 d6 de 43 46 8e 32 25 74 b2 40 a9 e7 38 a3 37 67 b3 c6 c9 a2 5b d9 53 ea d8 0d 05 P.Y.9..CF.2%t.@..8.7g....[.S....
b0a80 32 90 dc 55 55 29 65 21 6b 57 7a 7a 28 4f 59 95 d2 5c e3 8b 12 8a bf 0f 0e 11 a5 f7 15 4c f5 5c 2..UU)e!kWzz(OY..\...........L.\
b0aa0 d0 88 1d 6d b7 a6 90 2d 4d 88 ea 6b d8 fe d7 aa 40 57 83 45 6f da 66 89 e3 e2 0a 27 62 0d 17 58 ...m...-M..k....@W.Eo.f....'b..X
b0ac0 26 84 27 7d 36 ed 4c 0d 4e b1 b2 99 ad 29 a1 b2 fa bf 1b 0e 4c 67 8f 91 38 e0 1f 42 83 22 be 2c &.'}6.L.N....)......Lg..8..B.".,
b0ae0 0a 27 3d 56 8a d3 ab de 90 72 ea b4 7c 18 ff 7b e1 60 32 04 ac 51 9f 47 f2 f2 68 79 4a 16 d4 8a .'=V.....r..|..{.`2..Q.G..hyJ...
b0b00 0f 75 4e d7 e1 f4 14 65 48 0d 4b c2 ce 28 fc f7 c2 21 6c 56 b2 27 65 43 bd 39 6a 28 40 d3 9f e9 .uN....eH.K..(...!lV.'eC.9j(@...
b0b20 4a 8f 3b 8b 54 28 14 6a 3d 87 63 73 85 81 c9 0b a9 88 ab 06 d3 59 e2 e0 5c 03 8d cc f3 5c 5a ab J.;.T(.j=.cs.........Y..\....\Z.
b0b40 1e f5 f5 33 53 66 5c d5 2c 6d d5 ea 6f 40 08 cc 15 a6 d3 6d 6e e2 06 70 60 9b ec 68 1e 44 63 f5 ...3Sf\.,m..o@.....mn..p`..h.Dc.
b0b60 d2 90 11 7d 16 de df 56 45 e2 90 ad 5f 41 4a b3 0f b6 b9 e6 4e 03 d3 b9 7a 14 d5 a7 d6 cf e1 5a ...}...VE..._AJ.....N...z......Z
b0b80 f7 29 d3 c9 26 ed 79 a0 ff 6b f3 18 7a 7d 3a cc 76 86 24 09 b1 d9 ec 90 d2 0a 86 28 6c ce 97 54 .)..&.y..k..z}:.v.$........(l..T
b0ba0 e3 2e 99 9e c3 a1 c3 ab c2 28 47 37 e7 cf f6 11 de aa 11 1a ed 73 a5 54 8a d6 07 e9 74 19 d9 51 .........(G7.........s.T....t..Q
b0bc0 34 a7 57 69 f5 3d da 56 ce 8d 5c c3 2c e1 ea eb b4 5a 6d a3 0c 26 d0 01 dc ad 98 13 0e 21 39 d3 4.Wi.=.V..\.,....Zm..&.......!9.
b0be0 0e 02 e7 f3 5e 1a 27 2b 78 2c a5 40 0b 8a de d1 ce 2e d0 64 c0 e1 f0 8d 24 14 26 93 96 95 a9 a5 ....^.'+x,.@.......d....$.&.....
b0c00 6a 75 57 3f 1c e6 2a e0 39 e2 c0 29 06 16 a8 3a 23 4a 1f 66 d3 b2 ad ca 50 28 84 c2 12 d8 0d fe juW?..*.9..)...:#J.f....P(......
b0c20 8e c2 35 67 1c 22 4b d2 5e ab 6d d4 9f e9 d7 37 6a f5 18 37 e1 22 d4 59 c6 0e 9f 9d 3b 21 cc 3b ..5g."K.^.m....7j..7.".Y....;!.;
b0c40 c9 e7 e9 60 4e 67 19 aa 6e 53 87 f1 1b 6e 24 e0 21 99 ba b3 55 9f 93 93 23 ed 6b 6d ab e7 f0 2f ...`Ng..nS...n$.!...U...#.km.../
b0c60 c2 04 71 11 23 2f dd 9c 15 0e 16 94 29 c7 68 63 6a 27 8f c0 71 9e c4 85 bb c2 12 18 be c1 aa 87 ..q.#/......).hcj'..q...........
b0c80 49 ce 34 4a d5 9d ea 1c b4 b5 55 ad ee d7 72 e9 28 a1 0b da e8 3e 7a bd 53 31 1b 1c 85 e4 d8 64 I.4J......U...r.(....>z.S1.....d
b0ca0 2e 04 8d d4 3a 17 03 cf 28 9c 0a 1c 04 1f ef 46 0b 2f 21 53 4b 73 80 3a 28 da 53 d3 28 ed 2f eb ....:...(......F./!SKs.:(.S.(./.
b0cc0 a3 f3 71 0e 57 e6 0b 87 e9 9c 8b b3 c0 51 2c f6 36 8f 19 a0 37 d0 b9 0d 07 3c f2 13 81 58 f4 6a ..q.W........Q,.6...7....<...X.j
b0ce0 11 b1 73 7a b5 54 2a ed a9 6b d4 f7 74 f6 e8 a5 65 52 1f ca f7 9d 0b 4b c2 5e 97 8d 3f 0b 1c 18 ..sz.T*..k..t...eR.....K.^..?...
b0d00 c6 50 04 78 6a 8e 43 13 ce ab e7 d0 87 82 57 77 86 84 b3 5f ad ce d1 4b 7b 5a 3b 3b a5 39 28 b8 .P.xj.C.......Ww..._...K{Z;;.9(.
b0d20 e1 a3 f5 dc be d6 ce d6 9a 76 ae 7e 36 38 0a 22 c8 47 25 c4 dc 70 08 37 b7 bd a6 b1 91 eb be 2a .........v.~68.".G%..p.7.......*
b0d40 e0 79 3c 3e ca e7 f8 d0 d4 1c a9 34 47 df 5f d3 99 c3 97 35 d6 a8 73 38 f5 fc ce ce 9e 59 c5 4e .y<>.......4G._....5..s8.....Y.N
b0d60 14 d7 cd 71 85 84 15 3c 59 7b 23 38 60 a3 0f c7 08 82 c0 c9 e9 99 fc a8 96 02 86 79 12 3a 0a 88 ...q...<Y{#8`..............y.:..
b0d80 f4 e0 d5 9e 9a ce 1a 54 d6 d7 d3 d8 77 8e ce a9 e7 f6 a8 6f d1 7f 1e 00 13 f5 7d 8d 7d 3d 39 d2 .......T....w......o......}.}=9.
b0da0 1e 5f 90 c3 e7 a2 f4 28 e6 86 71 f2 04 00 ee 96 b5 d7 b5 aa 5b f5 7a b5 1e e5 eb db 3b 7d 3d 3d ._.....(..q.........[.z.....;}==
b0dc0 ed 8d a8 4c af cf f1 f5 48 6f 15 0e ce 01 da 80 f7 9f c3 3f d3 97 a3 56 f7 70 25 98 84 23 e3 0f ...L....Ho.........?...V.p%..#..
b0de0 d4 4b b8 35 ea ce a3 e0 27 a8 1e d5 eb 01 06 da d3 d7 d7 88 4a 7d 74 94 7e eb d4 c1 b9 52 ca 52 .K.5....'...........J}t.~....R.R
b0e00 a5 7d 52 bd 54 9f 23 e5 d2 b9 3e a7 8d c3 45 6b 6a 7b fa 51 bd b4 11 d5 83 f2 a3 96 72 d0 be be .}R.T.#...>...Ekj{.Q........r...
b0e20 3e 29 a7 47 ef e3 f4 f7 e8 6f 19 8e ac 4f af 97 a6 a6 02 1c 70 a3 d7 73 f9 7a a7 44 76 06 3c e8 >).G.....o...O......p..s.z.Dv.<.
b0e40 53 eb 39 fd 28 58 8c 53 53 07 9c e1 7e 54 26 05 38 12 8e 54 aa 96 f6 85 ff 5b 80 01 00 95 28 7d S.9.(X.SS...~T&.8..T.....[....(}
b0e60 0a b9 3c 34 69 00 00 00 00 49 45 4e 44 ae 42 60 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..<4i....IEND.B`................
b0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1000 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 00 00 dash-2.20.0/dash-functional.el..
b1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
b1080 30 30 30 33 37 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 35 35 00 20 30 00 00 00 0003730.00000000000.014555..0...
b10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
b1120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
b1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1200 3b 3b 3b 20 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 20 2d 2d 2d 20 43 6f 6c 6c 65 ;;;.dash-functional.el.---.Colle
b1220 63 74 69 6f 6e 20 6f 66 20 75 73 65 66 75 6c 20 63 6f 6d 62 69 6e 61 74 6f 72 73 20 66 6f 72 20 ction.of.useful.combinators.for.
b1240 45 6d 61 63 73 20 4c 69 73 70 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a Emacs.Lisp..-*-.lexical-binding:
b1260 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 2d 32 30 .t.-*-..;;.Copyright.(C).2013-20
b1280 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 21.Free.Software.Foundation,.Inc
b12a0 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 20 3c 6d 61 74 75 ...;;.Author:.Matus.Goljer.<matu
b12c0 73 2e 67 6f 6c 6a 65 72 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 20 20 20 20 20 20 20 20 4d s.goljer@gmail.com>.;;.........M
b12e0 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a agnar.Sveen.<magnars@gmail.com>.
b1300 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 33 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 ;;.Version:.1.3.0.;;.Package-Req
b1320 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 31 38 2e 30 22 29 29 0a 3b 3b 20 4b 65 79 77 uires:.((dash."2.18.0")).;;.Keyw
b1340 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 6c 69 73 70 0a 3b 3b 20 48 6f 6d 65 70 61 ords:.extensions,.lisp.;;.Homepa
b1360 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 ge:.https://github.com/magnars/d
b1380 61 73 68 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 ash.el..;;.This.program.is.free.
b13a0 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 software:.you.can.redistribute.i
b13c0 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 t.and/or.modify.;;.it.under.the.
b13e0 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 terms.of.the.GNU.General.Public.
b1400 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 License.as.published.by.;;.the.F
b1420 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 ree.Software.Foundation,.either.
b1440 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 version.3.of.the.License,.or.;;.
b1460 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 (at.your.option).any.later.versi
b1480 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 on...;;.This.program.is.distribu
b14a0 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
b14c0 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 useful,.;;.but.WITHOUT.ANY.WARRA
b14e0 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 NTY;.without.even.the.implied.wa
b1500 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 rranty.of.;;.MERCHANTABILITY.or.
b1520 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
b1540 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 ...See.the.;;.GNU.General.Public
b1560 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 .License.for.more.details...;;.Y
b1580 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f ou.should.have.received.a.copy.o
b15a0 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
b15c0 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 .;;.along.with.this.program...If
b15e0 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c .not,.see.<https://www.gnu.org/l
b1600 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 icenses/>...;;;.Commentary:..;;.
b1620 2a 4e 2e 42 2e 3a 2a 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 61 62 *N.B.:*.This.package.has.been.ab
b1640 73 6f 72 62 65 64 2c 20 61 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 6d 61 64 65 0a 3b 3b sorbed,.and.is.therefore.made.;;
b1660 20 6f 62 73 6f 6c 65 74 65 2c 20 62 79 20 74 68 65 20 60 64 61 73 68 27 20 70 61 63 6b 61 67 65 .obsolete,.by.the.`dash'.package
b1680 2c 20 76 65 72 73 69 6f 6e 20 32 2e 31 38 2e 30 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 6f 75 20 6d ,.version.2.18.0..;;.;;.If.you.m
b16a0 61 69 6e 74 61 69 6e 20 61 20 70 61 63 6b 61 67 65 20 74 68 61 74 20 64 65 70 65 6e 64 73 20 6f aintain.a.package.that.depends.o
b16c0 6e 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2c 20 74 68 65 6e 0a 3b 3b 20 79 6f 75 n.`dash-functional',.then.;;.you
b16e0 20 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20 74 68 61 74 20 74 6f 20 69 6e 73 74 65 61 64 20 64 .should.change.that.to.instead.d
b1700 65 70 65 6e 64 20 6f 6e 20 60 64 61 73 68 27 20 76 65 72 73 69 6f 6e 20 32 2e 31 38 2e 30 2c 0a epend.on.`dash'.version.2.18.0,.
b1720 3b 3b 20 61 6e 64 20 72 65 6d 6f 76 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 ;;.and.remove.all.references.to.
b1740 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 6f 75 20 `dash-functional'..;;.;;.If.you.
b1760 75 73 65 20 61 6e 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 20 use.any.packages.that.depend.on.
b1780 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2c 20 65 69 74 68 65 72 0a 3b 3b 20 64 69 72 `dash-functional',.either.;;.dir
b17a0 65 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 2c 20 74 68 65 6e 20 79 6f 75 20 77 69 ectly.or.indirectly,.then.you.wi
b17c0 6c 6c 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 61 6c 6c 20 6f 66 0a 3b 3b 20 ll.have.to.wait.until.all.of.;;.
b17e0 74 68 65 6d 20 68 61 76 65 20 74 72 61 6e 73 69 74 69 6f 6e 65 64 20 61 77 61 79 20 66 72 6f 6d them.have.transitioned.away.from
b1800 20 69 74 20 62 65 66 6f 72 65 20 79 6f 75 20 63 61 6e 20 72 65 6d 6f 76 65 20 69 74 2e 0a 3b 3b .it.before.you.can.remove.it..;;
b1820 0a 3b 3b 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 .;;.For.more.information.on.this
b1840 2c 20 73 65 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 52 4c 3a 0a 3b 3b 20 60 68 74 74 ,.see.the.following.URL:.;;.`htt
b1860 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f ps://github.com/magnars/dash.el/
b1880 77 69 6b 69 2f 4f 62 73 6f 6c 65 74 69 6f 6e 2d 6f 66 2d 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e wiki/Obsoletion-of-dash-function
b18a0 61 6c 2e 65 6c 27 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 64 61 73 al.el'..;;;.Code:..(require.'das
b18c0 68 29 0a 0a 28 65 76 61 6c 2d 61 6e 64 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 6c 65 74 20 28 28 6d h)..(eval-and-compile...(let.((m
b18e0 73 67 20 22 50 61 63 6b 61 67 65 20 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 20 69 73 20 6f sg."Package.dash-functional.is.o
b1900 62 73 6f 6c 65 74 65 3b 20 75 73 65 20 64 61 73 68 20 32 2e 31 38 2e 30 20 69 6e 73 74 65 61 64 bsolete;.use.dash.2.18.0.instead
b1920 22 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 20 ")).....(if.(and.noninteractive.
b1940 28 66 62 6f 75 6e 64 70 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 29 29 0a 20 20 (fboundp.'byte-compile-warn))...
b1960 20 20 20 20 20 20 28 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 20 6d 73 67 29 0a 20 20 ......(byte-compile-warn.msg)...
b1980 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 6d 73 67 29 29 29 29 0a 0a 28 70 72 6f 76 ....(message."%s".msg))))..(prov
b19a0 69 64 65 20 27 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 29 0a 0a 3b 3b 3b 20 64 61 73 68 2d ide.'dash-functional)..;;;.dash-
b19c0 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 functional.el.ends.here.........
b19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 00 00 00 00 00 00 dash-2.20.0/.dir-locals.el......
b1a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
b1a80 30 30 30 30 34 31 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 37 36 00 20 30 00 00 00 0000411.00000000000.013576..0...
b1aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
b1b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
b1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c00 28 28 6e 69 6c 0a 20 20 28 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 2e 20 37 30 29 0a 20 20 28 73 65 ((nil...(fill-column...70)...(se
b1c20 6e 74 65 6e 63 65 2d 65 6e 64 2d 64 6f 75 62 6c 65 2d 73 70 61 63 65 20 2e 20 74 29 0a 20 20 28 ntence-end-double-space...t)...(
b1c40 74 61 62 2d 77 69 64 74 68 20 2e 20 38 29 29 0a 20 28 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 tab-width...8))..(emacs-lisp-mod
b1c60 65 0a 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 20 2e 20 6e 69 6c 29 0a 20 20 28 e...(indent-tabs-mode...nil)...(
b1c80 6d 6f 64 65 20 2e 20 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 70 72 6f 67 29 29 0a 20 28 73 68 mode...bug-reference-prog))..(sh
b1ca0 2d 6d 6f 64 65 0a 20 20 28 73 68 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 20 2e 20 34 29 29 0a 20 -mode...(sh-basic-offset...4))..
b1cc0 28 74 65 78 69 6e 66 6f 2d 6d 6f 64 65 0a 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 (texinfo-mode...(indent-tabs-mod
b1ce0 65 20 2e 20 6e 69 6c 29 0a 20 20 28 6d 6f 64 65 20 2e 20 62 75 67 2d 72 65 66 65 72 65 6e 63 65 e...nil)...(mode...bug-reference
b1d00 2d 70 72 6f 67 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -prog)))........................
b1d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e00 64 61 73 68 2d 32 2e 32 30 2e 30 2f 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 00 00 dash-2.20.0/dash-template.texi..
b1e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
b1e80 30 30 32 31 35 32 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 37 36 00 20 30 00 00 00 0021522.00000000000.014576..0...
b1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
b1f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
b1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2000 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
b2020 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
b2040 69 6c 65 6e 61 6d 65 20 64 61 73 68 2e 69 6e 66 6f 0a 40 73 65 74 20 44 41 53 48 56 45 52 20 40 ilename.dash.info.@set.DASHVER.@
b2060 63 20 5b 5b 20 64 61 73 68 2d 76 65 72 73 69 6f 6e 20 5d 5d 0a 40 73 65 74 74 69 74 6c 65 20 44 c.[[.dash-version.]].@settitle.D
b2080 61 73 68 3a 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 ash:.A.modern.list.library.for.G
b20a0 4e 55 20 45 6d 61 63 73 2e 0a 40 64 6f 63 75 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d NU.Emacs..@documentencoding.UTF-
b20c0 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 75 61 67 65 20 65 6e 0a 40 63 20 25 2a 2a 65 6e 64 8.@documentlanguage.en.@c.%**end
b20e0 20 6f 66 20 68 65 61 64 65 72 0a 0a 40 63 6f 70 79 69 6e 67 0a 54 68 69 73 20 6d 61 6e 75 61 6c .of.header..@copying.This.manual
b2100 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 .is.for.Dash.version.@value{DASH
b2120 56 45 52 7d 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 VER}...Copyright.@copyright{}.20
b2140 31 32 2d 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 12--2025.Free.Software.Foundatio
b2160 6e 2c 20 49 6e 63 2e 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 n,.Inc...@quotation.Permission.i
b2180 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e s.granted.to.copy,.distribute.an
b21a0 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 0a 75 6e 64 65 72 20 d/or.modify.this.document.under.
b21c0 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 the.terms.of.the.GNU.Free.Docume
b21e0 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 0a ntation.License,.Version.1.3.or.
b2200 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 any.later.version.published.by.t
b2220 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 he.Free.Software.Foundation;.wit
b2240 68 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 60 h.the.Invariant.Sections.being.`
b2260 60 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 27 27 20 61 `GNU.General.Public.License,''.a
b2280 6e 64 20 6e 6f 0a 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d nd.no.Front-Cover.Texts.or.Back-
b22a0 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 Cover.Texts...A.copy.of.the.lice
b22c0 6e 73 65 20 69 73 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 nse.is.included.in.the.section.e
b22e0 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ntitled.``GNU.Free.Documentation
b2300 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e 0a 40 65 6e 64 20 .License''..@end.quotation.@end.
b2320 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 20 45 6d 61 63 73 0a 40 64 69 72 copying..@dircategory.Emacs.@dir
b2340 65 6e 74 72 79 0a 2a 20 44 61 73 68 3a 20 28 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 entry.*.Dash:.(dash.info).....A.
b2360 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 modern.list.library.for.GNU.Emac
b2380 73 2e 0a 40 65 6e 64 20 64 69 72 65 6e 74 72 79 0a 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 s..@end.direntry..@titlepage.@ti
b23a0 74 6c 65 20 44 61 73 68 20 4d 61 6e 75 61 6c 0a 40 73 75 62 74 69 74 6c 65 20 46 6f 72 20 44 61 tle.Dash.Manual.@subtitle.For.Da
b23c0 73 68 20 56 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 40 61 75 74 sh.Version.@value{DASHVER}..@aut
b23e0 68 6f 72 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 hor.Magnar.Sveen.@page.@vskip.0p
b2400 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e t.plus.1filll.@insertcopying.@en
b2420 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 6f 6e 74 65 6e 74 73 0a 0a 40 69 66 6e 6f 74 74 65 d.titlepage..@contents..@ifnotte
b2440 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f 70 20 44 61 73 68 0a 0a 40 69 6e 73 65 72 74 63 6f x.@node.Top.@top.Dash..@insertco
b2460 70 79 69 6e 67 0a 40 65 6e 64 20 69 66 6e 6f 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 73 pying.@end.ifnottex..@menu.*.Ins
b2480 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e tallation::........Installing.an
b24a0 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a d.configuring.Dash..*.Functions:
b24c0 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a :...........Dash.API.reference..
b24e0 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 *.Development::.........Contribu
b2500 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e ting.to.Dash.development...Appen
b2520 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 dices..*.FDL::.................T
b2540 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f he.license.for.this.documentatio
b2560 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 n..*.GPL::.................Condi
b2580 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 tions.for.copying.and.changing.D
b25a0 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 ash..*.Index::...............Ind
b25c0 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f ex.including.functions.and.macro
b25e0 73 2e 0a 0a 40 64 65 74 61 69 6c 6d 65 6e 75 0a 20 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 s...@detailmenu..---.The.Detaile
b2600 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e d.Node.Listing.---..Installation
b2620 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e ..*.Using.in.a.package::..Listin
b2640 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a g.Dash.as.a.package.dependency..
b2660 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 *.Fontification.of.special.varia
b2680 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d bles::..Font.Lock.of.anaphoric.m
b26a0 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f acro.variables..*.Info.symbol.lo
b26c0 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 okup::..Looking.up.Dash.symbols.
b26e0 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 40 63 20 5b in.this.manual...Functions..@c.[
b2700 5b 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e 74 0a [.function-list.]]..Development.
b2720 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 .*.Contribute::..........How.to.
b2740 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 contribute..*.Contributors::....
b2760 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 64 ....List.of.contributors..@end.d
b2780 65 74 61 69 6c 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 etailmenu.@end.menu..@node.Insta
b27a0 6c 6c 61 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 llation.@chapter.Installation..D
b27c0 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f ash.is.available.on.@url{https:/
b27e0 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 2c 20 47 4e 55 20 45 4c 50 41 7d 2c 0a 40 75 72 6c 7b /elpa.gnu.org/,.GNU.ELPA},.@url{
b2800 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 2c 20 47 4e 55 https://elpa.gnu.org/devel/,.GNU
b2820 2d 64 65 76 65 6c 20 45 4c 50 41 7d 2c 20 61 6e 64 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 6d -devel.ELPA},.and.@url{https://m
b2840 65 6c 70 61 2e 6f 72 67 2f 2c 20 4d 45 4c 50 41 7d 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 69 6e elpa.org/,.MELPA},.and.can.be.in
b2860 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e stalled.with.the.standard.comman
b2880 64 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 28 40 70 78 72 65 66 d.@code{package-install}.(@pxref
b28a0 7b 50 61 63 6b 61 67 65 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 2c 2c 20 65 6d 61 63 73 2c 20 {Package.Installation,,,.emacs,.
b28c0 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 74 61 62 6c 65 20 The.GNU.Emacs.Manual})...@table.
b28e0 40 6b 62 64 0a 40 69 74 65 6d 20 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 40 @kbd.@item.M-x.package-install.@
b2900 6b 65 79 7b 52 45 54 7d 20 64 61 73 68 20 40 6b 65 79 7b 52 45 54 7d 0a 49 6e 73 74 61 6c 6c 20 key{RET}.dash.@key{RET}.Install.
b2920 74 68 65 20 44 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 41 6c the.Dash.library..@end.table..Al
b2940 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 40 ternatively,.you.can.just.dump.@
b2960 66 69 6c 65 7b 64 61 73 68 2e 65 6c 7d 20 69 6e 20 79 6f 75 72 0a 40 63 6f 64 65 7b 6c 6f 61 64 file{dash.el}.in.your.@code{load
b2980 2d 70 61 74 68 7d 20 73 6f 6d 65 77 68 65 72 65 20 28 40 70 78 72 65 66 7b 4c 69 73 70 20 4c 69 -path}.somewhere.(@pxref{Lisp.Li
b29a0 62 72 61 72 69 65 73 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 0a 45 6d 61 63 73 20 braries,,,.emacs,.The.GNU.Emacs.
b29c0 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 Manual})...@menu.*.Using.in.a.pa
b29e0 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 ckage::..Listing.Dash.as.a.packa
b2a00 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f ge.dependency..*.Fontification.o
b2a20 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b f.special.variables::..Font.Lock
b2a40 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a .of.anaphoric.macro.variables..*
b2a60 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 .Info.symbol.lookup::..Looking.u
b2a80 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 40 p.Dash.symbols.in.this.manual..@
b2aa0 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 end.menu..@node.Using.in.a.packa
b2ac0 67 65 0a 40 73 65 63 74 69 6f 6e 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a ge.@section.Using.in.a.package..
b2ae0 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b If.you.use.Dash.in.your.own.pack
b2b00 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 0a 64 65 70 age,.be.sure.to.list.it.as.a.dep
b2b20 65 6e 64 65 6e 63 79 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 20 68 65 61 64 65 72 73 endency.in.the.library's.headers
b2b40 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 40 70 78 72 65 66 7b 4c 69 62 72 61 72 79 0a 48 65 61 64 .as.follows.(@pxref{Library.Head
b2b60 65 72 73 2c 2c 2c 20 65 6c 69 73 70 2c 20 54 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 52 65 66 ers,,,.elisp,.The.Emacs.Lisp.Ref
b2b80 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 erence.Manual})...@lisp.;;.Packa
b2ba0 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 40 76 61 6c 75 65 7b 44 41 53 48 ge-Requires:.((dash."@value{DASH
b2bc0 56 45 52 7d 22 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 69 66 69 VER}")).@end.lisp..@node.Fontifi
b2be0 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 cation.of.special.variables.@sec
b2c00 74 69 6f 6e 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 tion.Fontification.of.special.va
b2c20 72 69 61 62 6c 65 73 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f riables..@findex.dash-fontify-mo
b2c40 64 65 0a 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 40 63 6f de.The.autoloaded.minor.mode.@co
b2c60 64 65 7b 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 20 69 73 20 70 72 6f 76 69 64 65 de{dash-fontify-mode}.is.provide
b2c80 64 20 66 6f 72 0a 6f 70 74 69 6f 6e 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 d.for.optional.fontification.of.
b2ca0 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 40 63 6f 64 65 7b anaphoric.Dash.variables.(@code{
b2cc0 69 74 7d 2c 0a 40 63 6f 64 65 7b 61 63 63 7d 2c 20 65 74 63 2e 40 3a 29 20 69 6e 20 45 6d 61 63 it},.@code{acc},.etc.@:).in.Emac
b2ce0 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 s.Lisp.buffers.using.search-base
b2d00 64 20 46 6f 6e 74 20 4c 6f 63 6b 0a 28 40 70 78 72 65 66 7b 46 6f 6e 74 20 4c 6f 63 6b 2c 2c 2c d.Font.Lock.(@pxref{Font.Lock,,,
b2d20 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 .emacs,.The.GNU.Emacs.Manual})..
b2d40 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 .In.older.Emacs.versions.which.d
b2d60 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c o.not.dynamically.detect.macros,
b2d80 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 66 6f 6e 74 69 66 69 65 73 20 63 .the.minor.mode.also.fontifies.c
b2da0 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 40 66 69 6e 64 65 78 20 67 6c alls.to.Dash.macros...@findex.gl
b2dc0 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 6f 20 61 75 74 6f 6d 61 obal-dash-fontify-mode.To.automa
b2de0 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e tically.enable.the.minor.mode.in
b2e00 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 .all.Emacs.Lisp.buffers,.just.ca
b2e20 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 ll.its.autoloaded.global.counter
b2e40 70 61 72 74 0a 40 63 6f 64 65 7b 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d part.@code{global-dash-fontify-m
b2e60 6f 64 65 7d 2c 20 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 ode},.either.interactively.or.fr
b2e80 6f 6d 20 79 6f 75 72 0a 40 63 6f 64 65 7b 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 3a 0a 0a om.your.@code{user-init-file}:..
b2ea0 40 6c 69 73 70 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 @lisp.(global-dash-fontify-mode)
b2ec0 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f .@end.lisp..@node.Info.symbol.lo
b2ee0 6f 6b 75 70 0a 40 73 65 63 74 69 6f 6e 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 okup.@section.Info.symbol.lookup
b2f00 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f ..@findex.dash-register-info-loo
b2f20 6b 75 70 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 kup.While.editing.Elisp.files,.y
b2f40 6f 75 20 63 61 6e 20 75 73 65 20 40 6b 62 64 7b 43 2d 68 20 53 7d 0a 28 40 63 6f 64 65 7b 69 6e ou.can.use.@kbd{C-h.S}.(@code{in
b2f60 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 7d 29 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c fo-lookup-symbol}).to.look.up.El
b2f80 69 73 70 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 49 6e 66 6f isp.symbols.in.the.relevant.Info
b2fa0 20 6d 61 6e 75 61 6c 73 20 28 40 70 78 72 65 66 7b 49 6e 66 6f 20 4c 6f 6f 6b 75 70 2c 2c 2c 20 .manuals.(@pxref{Info.Lookup,,,.
b2fc0 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 emacs,.The.GNU.Emacs.Manual})...
b2fe0 54 6f 0a 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 To.enable.the.same.for.Dash.symb
b3000 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 40 63 6f 64 65 7b 64 61 73 68 2d ols,.use.the.command.@code{dash-
b3020 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 7d 2e 20 20 49 74 20 63 61 6e 20 62 register-info-lookup}...It.can.b
b3040 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2c 20 6f e.called.directly.when.needed,.o
b3060 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 40 63 6f 64 65 7b r.automatically.from.your.@code{
b3080 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a user-init-file}...For.example:..
b30a0 40 6c 69 73 70 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 @lisp.(with-eval-after-load.'inf
b30c0 6f 2d 6c 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f o-look...(dash-register-info-loo
b30e0 6b 75 70 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 73 kup)).@end.lisp..@node.Functions
b3100 0a 40 63 68 61 70 74 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 54 68 69 73 20 63 68 61 70 74 65 .@chapter.Functions..This.chapte
b3120 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 r.contains.reference.documentati
b3140 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 0a 40 61 63 72 6f 6e 79 6d 7b 41 50 49 2c 20 41 70 on.for.the.Dash.@acronym{API,.Ap
b3160 70 6c 69 63 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 7d plication.Programming.Interface}
b3180 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ...The.names.of.all.public.funct
b31a0 69 6f 6e 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 ions.defined.in.the.library.are.
b31c0 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 0a 63 68 61 72 61 63 74 65 72 20 28 prefixed.with.a.dash.character.(
b31e0 40 73 61 6d 70 7b 2d 7d 29 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f @samp{-})...The.library.also.pro
b3200 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f vides.anaphoric.macro.versions.o
b3220 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e f.functions.where.that.makes.sen
b3240 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 se...The.names.of.these.macros.a
b3260 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 40 73 61 re.prefixed.with.two.dashes.(@sa
b3280 6d 70 7b 2d 2d 7d 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 46 6f 72 20 69 6e 73 mp{--}).instead.of.one...For.ins
b32a0 74 61 6e 63 65 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 65 7b tance,.while.the.function.@code{
b32c0 2d 6d 61 70 7d 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 65 61 63 68 -map}.applies.a.function.to.each
b32e0 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 6f 72 69 .element.of.a.list,.its.anaphori
b3300 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 0a 65 76 61 6c 75 c.counterpart.@code{--map}.evalu
b3320 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 ates.a.form.with.the.local.varia
b3340 62 6c 65 20 40 63 6f 64 65 7b 69 74 7d 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a ble.@code{it}.temporarily.bound.
b3360 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 to.the.current.list.element.inst
b3380 65 61 64 2e 0a 0a 40 6c 69 73 70 0a 40 67 72 6f 75 70 0a 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 ead...@lisp.@group.;;.Normal.ver
b33a0 73 69 6f 6e 2e 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 sion..(-map.(lambda.(n).(*.n.n))
b33c0 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 .'(1.2.3.4)).....@result{}.(1.4.
b33e0 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 0a 40 67 72 6f 75 70 0a 3b 3b 20 41 6e 61 70 9.16).@end.group..@group.;;.Anap
b3400 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 horic.version..(--map.(*.it.it).
b3420 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 '(1.2.3.4)).....@result{}.(1.4.9
b3440 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 6e .16).@end.group.@end.lisp..The.n
b3460 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 61 6c ormal.version.can,.of.course,.al
b3480 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e so.be.written.as.in.the.followin
b34a0 67 0a 65 78 61 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 g.example,.which.demonstrates.th
b34c0 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 40 6c 69 e.utility.of.both.versions...@li
b34e0 73 70 0a 40 67 72 6f 75 70 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 sp.@group.(defun.my-square.(n)..
b3500 20 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e ."Return.N.multiplied.by.itself.
b3520 22 0a 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 "...(*.n.n))..(-map.#'my-square.
b3540 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 '(1.2.3.4)).....@result{}.(1.4.9
b3560 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6d 65 6e 75 .16).@end.group.@end.lisp..@menu
b3580 0a 40 63 20 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 40 65 6e 64 20 6d 65 6e .@c.[[.function-list.]].@end.men
b35a0 75 0a 0a 40 63 20 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 73 20 5d 5d 0a 40 6e 6f 64 65 20 u..@c.[[.function-docs.]].@node.
b35c0 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 40 63 68 61 70 74 65 72 20 44 65 76 65 6c 6f 70 6d 65 6e 74 Development.@chapter.Development
b35e0 0a 0a 54 68 65 20 44 61 73 68 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 ..The.Dash.repository.is.hosted.
b3600 6f 6e 20 47 69 74 48 75 62 20 61 74 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 on.GitHub.at.@url{https://github
b3620 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 7d 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 .com/magnars/dash.el}...@menu.*.
b3640 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e Contribute::..........How.to.con
b3660 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 tribute..*.Contributors::.......
b3680 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 6d 65 6e 75 .List.of.contributors..@end.menu
b36a0 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 75 74 65 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 ..@node.Contribute.@section.Cont
b36c0 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 ribute..Yes,.please.do...Pure.fu
b36e0 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e nctions.in.the.list.manipulation
b3700 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 .realm.only,.please...There's.a.
b3720 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 40 66 69 6c 65 suite.of.examples/tests.in.@file
b3740 7b 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 7d 2c 0a 73 6f 20 72 65 6d 65 6d 62 65 72 20 74 {dev/examples.el},.so.remember.t
b3760 6f 20 61 64 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 o.add.tests.for.your.additions,.
b3780 6f 72 20 74 68 65 79 20 6d 61 79 20 67 65 74 20 62 72 6f 6b 65 6e 0a 6c 61 74 65 72 2e 0a 0a 52 or.they.may.get.broken.later...R
b37a0 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 20 40 73 61 6d 70 7b 6d 61 6b 65 20 63 68 65 un.the.tests.with.@samp{make.che
b37c0 63 6b 7d 2e 20 20 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 0a 40 ck}...Regenerate.the.docs.with.@
b37e0 73 61 6d 70 7b 6d 61 6b 65 20 64 6f 63 73 7d 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 samp{make.docs}...Contributors.a
b3800 72 65 20 65 6e 63 6f 75 72 61 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 0a 63 re.encouraged.to.install.these.c
b3820 6f 6d 6d 61 6e 64 73 20 61 73 20 61 20 47 69 74 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b ommands.as.a.Git.pre-commit.hook
b3840 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 0a 72 ,.so.that.the.tests.are.always.r
b3860 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 unning.and.the.docs.are.always.i
b3880 6e 20 73 79 6e 63 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 n.sync:..@example.$.cp.dev/pre-c
b38a0 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 40 ommit.sh..git/hooks/pre-commit.@
b38c0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 end.example..Oh,.and.don't.edit.
b38e0 40 66 69 6c 65 7b 52 45 41 44 4d 45 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2e 74 @file{README.md}.or.@file{dash.t
b3900 65 78 69 7d 20 64 69 72 65 63 74 6c 79 2c 20 61 73 0a 74 68 65 79 20 61 72 65 20 61 75 74 6f 2d exi}.directly,.as.they.are.auto-
b3920 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 generated...Instead,.change.thei
b3940 72 20 72 65 73 70 65 63 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a 40 66 69 6c 65 7b 72 65 61 r.respective.templates.@file{rea
b3960 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2d 74 dme-template.md}.or.@file{dash-t
b3980 65 6d 70 6c 61 74 65 2e 74 65 78 69 7d 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 emplate.texi}...To.ensure.that.D
b39a0 61 73 68 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 ash.can.be.distributed.with.GNU.
b39c0 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 ELPA.or.Emacs,.we.require.that.a
b39e0 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 ll.contributors.assign.copyright
b3a00 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e .to.the.Free.Software.Foundation
b3a20 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 40 70 78 72 65 66 7b 43 6f 70 79 ...For.more.on.this,.@pxref{Copy
b3a40 72 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 2c 2c 2c 20 65 6d 61 63 73 2c 0a 54 68 65 20 47 right.Assignment,,,.emacs,.The.G
b3a60 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 NU.Emacs.Manual}...@node.Contrib
b3a80 75 74 6f 72 73 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 40 69 74 utors.@section.Contributors..@it
b3aa0 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e emize.@item.@url{https://github.
b3ac0 63 6f 6d 2f 46 75 63 6f 31 2c 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 7d 20 63 6f 6e 74 72 69 62 com/Fuco1,.Matus.Goljer}.contrib
b3ae0 75 74 65 64 20 6c 6f 74 73 20 6f 66 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 uted.lots.of.features.and.functi
b3b00 6f 6e 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ons..@item.@url{https://github.c
b3b20 6f 6d 2f 74 6b 66 2c 20 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 7d 20 63 6f 6e 74 72 69 om/tkf,.Takafumi.Arakaki}.contri
b3b40 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 67 72 6f 75 70 2d 62 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 buted.@code{-group-by}..@item.@u
b3b60 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2c 20 74 rl{https://github.com/tali713,.t
b3b80 61 6c 69 37 31 33 7d 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 0a 40 63 6f 64 65 7b 2d ali713}.is.the.author.of.@code{-
b3ba0 61 70 70 6c 69 66 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 applify}..@item.@url{https://git
b3bc0 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 2c 20 56 40 27 7b 69 7d 63 74 6f 72 20 4d 2e 20 56 61 6c 65 hub.com/vemv,.V@'{i}ctor.M..Vale
b3be0 6e 7a 75 65 6c 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 72 65 70 65 61 nzuela}.contributed.@code{-repea
b3c00 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f t}..@item.@url{https://github.co
b3c20 6d 2f 6e 69 63 66 65 72 72 69 65 72 2c 20 4e 69 63 20 46 65 72 72 69 65 72 7d 20 63 6f 6e 74 72 m/nicferrier,.Nic.Ferrier}.contr
b3c40 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6e 73 2a 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c ibuted.@code{-cons*}..@item.@url
b3c60 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2c 20 57 69 6c {https://github.com/Wilfred,.Wil
b3c80 66 72 65 64 20 48 75 67 68 65 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d fred.Hughes}.contributed.@code{-
b3ca0 73 6c 69 63 65 7d 2c 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 2c 20 61 6e 64 20 slice},.@code{-first-item},.and.
b3cc0 40 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 @code{-last-item}..@item.@url{ht
b3ce0 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 2c 20 45 6d 61 6e 75 65 6c tps://github.com/shosti,.Emanuel
b3d00 20 45 76 61 6e 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 .Evans}.contributed.@code{-if-le
b3d20 74 7d 2c 20 40 63 6f 64 65 7b 2d 77 68 65 6e 2d 6c 65 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b t},.@code{-when-let},.and.@code{
b3d40 2d 69 6e 73 65 72 74 2d 61 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f -insert-at}..@item.@url{https://
b3d60 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 2c 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 github.com/rejeep,.Johan.Anderss
b3d80 6f 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 75 6d 7d 2c 20 40 63 6f on}.contributed.@code{-sum},.@co
b3da0 64 65 7b 2d 70 72 6f 64 75 63 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 de{-product},.and.@code{-same-it
b3dc0 65 6d 73 3f 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ems?}..@item.@url{https://github
b3de0 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 2c 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 .com/kurisuwhyte,.Christina.Whyt
b3e00 65 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 6f 73 65 7d 2e 0a e}.contributed.@code{-compose}..
b3e20 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 @item.@url{https://github.com/st
b3e40 65 76 65 6e 74 6c 61 6d 62 2c 20 53 74 65 76 65 20 4c 61 6d 62 7d 20 63 6f 6e 74 72 69 62 75 74 eventlamb,.Steve.Lamb}.contribut
b3e60 65 64 0a 40 63 6f 64 65 7b 2d 63 79 63 6c 65 7d 2c 20 40 63 6f 64 65 7b 2d 70 61 64 7d 2c 20 40 ed.@code{-cycle},.@code{-pad},.@
b3e80 63 6f 64 65 7b 2d 61 6e 6e 6f 74 61 74 65 7d 2c 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c code{-annotate},.@code{-zip-fill
b3ea0 7d 2c 20 61 6e 64 20 61 0a 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 40 63 6f },.and.a.variadic.version.of.@co
b3ec0 64 65 7b 2d 7a 69 70 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 de{-zip}..@item.@url{https://git
b3ee0 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 2c 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 hub.com/fbergroth,.Fredrik.Bergr
b3f00 6f 74 68 7d 20 6d 61 64 65 20 74 68 65 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 20 66 61 6d oth}.made.the.@code{-if-let}.fam
b3f20 69 6c 79 20 75 73 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e ily.use.@code{-let}.destructurin
b3f40 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 0a 73 63 72 69 70 74 20 66 6f 72 20 67 65 g.and.improved.the.script.for.ge
b3f60 6e 65 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 69 74 65 6d 0a 40 75 nerating.documentation..@item.@u
b3f80 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 2c rl{https://github.com/holomorph,
b3fa0 20 4d 61 72 6b 20 4f 74 65 69 7a 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b .Mark.Oteiza}.contributed.@code{
b3fc0 2d 69 6f 74 61 7d 20 61 6e 64 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 -iota}.and.the.script.to.create.
b3fe0 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 an.Info.manual..@item.@url{https
b4000 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 2c 20 56 61 73 69 6c 69 6a 20 ://github.com/wasamasa,.Vasilij.
b4020 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 Schneidermann}.contributed.@code
b4040 7b 2d 73 6f 6d 65 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 {-some}..@item.@url{https://gith
b4060 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 2c 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 7d 20 6d ub.com/occidens,.William.West}.m
b4080 61 64 65 20 40 63 6f 64 65 7b 2d 66 69 78 66 6e 7d 0a 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 ade.@code{-fixfn}.more.robust.at
b40a0 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 .handling.floats..@item.@url{htt
b40c0 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 2c 20 43 61 6d 20 53 61 75 ps://github.com/camsaul,.Cam.Sau
b40e0 6c 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 7d 2c 0a 40 l}.contributed.@code{-some->},.@
b4100 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 3e 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d code{-some->>},.and.@code{-some-
b4120 2d 3e 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ->}..@item.@url{https://github.c
b4140 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f om/basil-conto,.Basil.L..Contovo
b4160 75 6e 65 73 69 6f 73 7d 0a 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d unesios}.contributed.@code{-comm
b4180 6f 6e 2d 70 72 65 66 69 78 7d 2c 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 on-prefix},.@code{-common-suffix
b41a0 7d 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 0a 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 },.and.various.other.improvement
b41c0 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d s..@item.@url{https://github.com
b41e0 2f 64 6f 75 62 6c 65 70 2c 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 7d 20 63 6f 6e 74 72 /doublep,.Paul.Pogonyshev}.contr
b4200 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 65 61 63 68 2d 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b ibuted.@code{-each-r}.and.@code{
b4220 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 -each-r-while}..@end.itemize..Th
b4240 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 anks!..New.contributors.are.very
b4260 20 77 65 6c 63 6f 6d 65 2e 20 20 40 78 72 65 66 7b 43 6f 6e 74 72 69 62 75 74 65 7d 2e 0a 0a 40 .welcome...@xref{Contribute}...@
b4280 63 20 41 70 70 65 6e 64 69 63 65 73 2e 0a 0a 40 6e 6f 64 65 20 46 44 4c 0a 40 61 70 70 65 6e 64 c.Appendices...@node.FDL.@append
b42a0 69 78 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 ix.GNU.Free.Documentation.Licens
b42c0 65 0a 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 66 64 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 47 e.@include.doc/fdl.texi..@node.G
b42e0 50 4c 0a 40 61 70 70 65 6e 64 69 78 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 PL.@appendix.GNU.General.Public.
b4300 4c 69 63 65 6e 73 65 0a 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 67 70 6c 2e 74 65 78 69 0a 0a 40 License.@include.doc/gpl.texi..@
b4320 6e 6f 64 65 20 49 6e 64 65 78 0a 40 75 6e 6e 75 6d 62 65 72 65 64 20 49 6e 64 65 78 0a 40 70 72 node.Index.@unnumbered.Index.@pr
b4340 69 6e 74 69 6e 64 65 78 20 66 6e 0a 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 intindex.fn..@bye...............
b4360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b43e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4400 64 61 73 68 2d 32 2e 32 30 2e 30 2f 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 00 00 dash-2.20.0/readme-template.md..
b4420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
b4480 30 30 31 36 30 32 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 34 33 00 20 30 00 00 00 0016023.00000000000.014543..0...
b44a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b44c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b44e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
b4520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
b4540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b45a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b45c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b45e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4600 5b 21 5b 43 49 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 [![CI](https://github.com/magnar
b4620 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 s/dash.el/actions/workflows/test
b4640 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .yml/badge.svg)](https://github.
b4660 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b com/magnars/dash.el/actions/work
b4680 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 flows/test.yml).[![GNU.ELPA](htt
b46a0 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2e ps://elpa.gnu.org/packages/dash.
b46c0 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 svg)](https://elpa.gnu.org/packa
b46e0 67 65 73 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 ges/dash.html).[![GNU-devel.ELPA
b4700 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 64 61 73 ](https://elpa.gnu.org/devel/das
b4720 68 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 h.svg)](https://elpa.gnu.org/dev
b4740 65 6c 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 el/dash.html).[![MELPA.Stable](h
b4760 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 ttps://stable.melpa.org/packages
b4780 2f 64 61 73 68 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 /dash-badge.svg)](https://stable
b47a0 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 68 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 .melpa.org/#/dash).[![MELPA](htt
b47c0 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2d 62 61 64 ps://melpa.org/packages/dash-bad
b47e0 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 ge.svg)](https://melpa.org/#/das
b4800 68 29 0a 0a 23 20 3c 69 6d 67 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 73 72 63 3d 22 72 61 h)..#.<img.align="right".src="ra
b4820 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 22 3e 20 64 61 73 68 2e 65 6c 0a 0a 41 20 6d 6f 64 65 inbow-dash.png">.dash.el..A.mode
b4840 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 20 20 4e 6f 0a 5b 60 27 63 6c rn.list.API.for.Emacs...No.[`'cl
b4860 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
b4880 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 63 6c 2f 29 20 72 65 71 75 69 72 65 64 s/manual/html_node/cl/).required
b48a0 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 6c ...See.the.end.of.the.file.for.l
b48c0 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 6f 6e 74 65 6e 74 73 0a icense.conditions...##.Contents.
b48e0 0a 2a 20 5b 43 68 61 6e 67 65 20 6c 6f 67 5d 28 23 63 68 61 6e 67 65 2d 6c 6f 67 29 0a 2a 20 5b .*.[Change.log](#change-log).*.[
b4900 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 5d 28 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 0a 2a 20 5b Installation](#installation).*.[
b4920 46 75 6e 63 74 69 6f 6e 73 5d 28 23 66 75 6e 63 74 69 6f 6e 73 29 0a 2a 20 5b 43 6f 6e 74 72 69 Functions](#functions).*.[Contri
b4940 62 75 74 65 5d 28 23 63 6f 6e 74 72 69 62 75 74 65 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 6f bute](#contribute).*.[Contributo
b4960 72 73 5d 28 23 63 6f 6e 74 72 69 62 75 74 6f 72 73 29 0a 2a 20 5b 4c 69 63 65 6e 73 65 5d 28 23 rs](#contributors).*.[License](#
b4980 6c 69 63 65 6e 73 65 29 0a 0a 23 23 20 43 68 61 6e 67 65 20 6c 6f 67 0a 0a 53 65 65 20 74 68 65 license)..##.Change.log..See.the
b49a0 20 5b 60 4e 45 57 53 2e 6d 64 60 5d 28 4e 45 57 53 2e 6d 64 29 20 66 69 6c 65 2e 0a 0a 23 23 20 .[`NEWS.md`](NEWS.md).file...##.
b49c0 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 Installation..Dash.is.available.
b49e0 6f 6e 20 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f on.[GNU.ELPA](https://elpa.gnu.o
b4a00 72 67 2f 29 2c 20 5b 47 4e 55 2d 64 65 76 65 6c 0a 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 rg/),.[GNU-devel.ELPA](https://e
b4a20 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 5b 4d 45 4c 50 41 5d lpa.gnu.org/devel/),.and.[MELPA]
b4a40 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 0a 61 6e 64 20 63 61 6e 20 62 65 (https://melpa.org/),.and.can.be
b4a60 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 6f 6d .installed.with.the.standard.com
b4a80 6d 61 6e 64 20 60 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 60 3a 0a 0a 20 20 20 20 4d 2d 78 mand.`package-install`:......M-x
b4aa0 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 52 45 54 20 64 61 73 68 20 52 45 54 0a 0a 53 .package-install.RET.dash.RET..S
b4ac0 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 50 61 63 6b 61 67 65 0a 49 6e 73 74 ee.[`(info."(emacs).Package.Inst
b4ae0 61 6c 6c 61 74 69 6f 6e 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 allation")`](https://gnu.org/sof
b4b00 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 tware/emacs/manual/html_node/ema
b4b20 63 73 2f 50 61 63 6b 61 67 65 2d 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 68 74 6d 6c 29 2e 0a 0a cs/Package-Installation.html)...
b4b40 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 Alternatively,.you.can.just.dump
b4b60 20 60 64 61 73 68 2e 65 6c 60 20 69 6e 20 79 6f 75 72 20 60 6c 6f 61 64 2d 70 61 74 68 60 0a 73 .`dash.el`.in.your.`load-path`.s
b4b80 6f 6d 65 77 68 65 72 65 2e 20 20 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 omewhere...See.[`(info."(emacs).
b4ba0 4c 69 73 70 0a 4c 69 62 72 61 72 69 65 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f Lisp.Libraries")`](https://gnu.o
b4bc0 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f rg/software/emacs/manual/html_no
b4be0 64 65 2f 65 6d 61 63 73 2f 4c 69 73 70 2d 4c 69 62 72 61 72 69 65 73 2e 68 74 6d 6c 29 2e 0a 0a de/emacs/Lisp-Libraries.html)...
b4c00 23 23 23 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 41 64 64 20 73 6f 6d 65 ###.Using.in.a.package..Add.some
b4c20 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 thing.like.this.to.the.library's
b4c40 20 68 65 61 64 65 72 73 3a 0a 0a 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 .headers:......;;.Package-Requir
b4c60 65 73 3a 20 28 28 64 61 73 68 20 22 5b 5b 20 64 61 73 68 2d 76 65 72 73 69 6f 6e 20 5d 5d 22 29 es:.((dash."[[.dash-version.]]")
b4c80 29 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6c 69 73 70 29 20 4c 69 62 72 61 72 79 0a )..See.[`(info."(elisp).Library.
b4ca0 48 65 61 64 65 72 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 Headers")`](https://gnu.org/soft
b4cc0 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 ware/emacs/manual/html_node/elis
b4ce0 70 2f 4c 69 62 72 61 72 79 2d 48 65 61 64 65 72 73 2e 68 74 6d 6c 29 2e 0a 0a 23 23 23 20 46 6f p/Library-Headers.html)...###.Fo
b4d00 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 ntification.of.special.variables
b4d20 0a 0a 46 6f 6e 74 20 6c 6f 63 6b 20 6f 66 20 73 70 65 63 69 61 6c 20 44 61 73 68 20 76 61 72 69 ..Font.lock.of.special.Dash.vari
b4d40 61 62 6c 65 73 20 28 60 69 74 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 ables.(`it`,.`acc`,.etc.).in.Ema
b4d60 63 73 20 4c 69 73 70 0a 62 75 66 66 65 72 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 cs.Lisp.buffers.can.optionally.b
b4d80 65 20 65 6e 61 62 6c 65 64 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 e.enabled.with.the.autoloaded.mi
b4da0 6e 6f 72 20 6d 6f 64 65 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e 20 20 49 nor.mode.`dash-fontify-mode`...I
b4dc0 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 n.older.Emacs.versions.which.do.
b4de0 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 not.dynamically.detect.macros,.t
b4e00 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 44 61 73 he.minor.mode.also.fontifies.Das
b4e20 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 h.macro.calls...To.automatically
b4e40 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d .enable.the.minor.mode.in.all.Em
b4e60 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 73 20 acs.Lisp.buffers,.just.call.its.
b4e80 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 67 autoloaded.global.counterpart.`g
b4ea0 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2c 0a 65 69 74 68 65 72 lobal-dash-fontify-mode`,.either
b4ec0 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 .interactively.or.from.your.`use
b4ee0 72 2d 69 6e 69 74 2d 66 69 6c 65 60 3a 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 r-init-file`:..```el.(global-das
b4f00 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 60 60 60 0a 0a 23 23 23 20 49 6e 66 6f 20 73 79 h-fontify-mode).```..###.Info.sy
b4f20 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 mbol.lookup..While.editing.Elisp
b4f40 20 66 69 6c 65 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 60 43 2d 68 20 53 60 20 28 60 69 6e .files,.you.can.use.`C-h.S`.(`in
b4f60 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 60 29 0a 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c fo-lookup-symbol`).to.look.up.El
b4f80 69 73 70 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f isp.symbols.in.the.relevant.Info
b4fa0 20 6d 61 6e 75 61 6c 73 20 28 73 65 65 20 5b 60 28 65 6d 61 63 73 29 0a 49 6e 66 6f 0a 4c 6f 6f .manuals.(see.[`(emacs).Info.Loo
b4fc0 6b 75 70 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 kup`](https://gnu.org/software/e
b4fe0 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 49 6e 66 6f macs/manual/html_node/emacs/Info
b5000 2d 4c 6f 6f 6b 75 70 2e 68 74 6d 6c 29 29 2e 0a 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 -Lookup.html))..To.enable.the.sa
b5020 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d me.for.Dash.symbols,.use.the.com
b5040 6d 61 6e 64 0a 60 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 60 mand.`dash-register-info-lookup`
b5060 2e 20 20 49 74 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 ...It.can.be.called.directly.whe
b5080 6e 20 6e 65 65 64 65 64 2c 0a 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 n.needed,.or.automatically.from.
b50a0 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 78 61 6d your.`user-init-file`...For.exam
b50c0 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 ple:..```el.(with-eval-after-loa
b50e0 64 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e d.'info-look...(dash-register-in
b5100 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 41 fo-lookup)).```..##.Functions..A
b5120 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 73 74 72 75 63 74 73 20 69 6e 20 74 ll.functions.and.constructs.in.t
b5140 68 65 20 6c 69 62 72 61 72 79 20 75 73 65 20 61 20 64 61 73 68 20 28 60 2d 60 29 20 70 72 65 66 he.library.use.a.dash.(`-`).pref
b5160 69 78 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 ix...The.library.also.provides.a
b5180 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 6e 63 74 naphoric.macro.versions.of.funct
b51a0 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 20 54 68 ions.where.that.makes.sense...Th
b51c0 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 65 66 e.names.of.these.macros.are.pref
b51e0 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 60 2d 2d 60 29 20 69 6e 73 74 ixed.with.two.dashes.(`--`).inst
b5200 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 57 68 69 6c 65 20 60 2d 6d 61 70 60 20 61 70 70 6c 69 65 ead.of.one...While.`-map`.applie
b5220 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 s.a.function.to.each.element.of.
b5240 61 20 6c 69 73 74 2c 20 69 74 73 0a 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 a.list,.its.anaphoric.counterpar
b5260 74 20 60 2d 2d 6d 61 70 60 20 65 76 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 t.`--map`.evaluates.a.form.with.
b5280 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 0a 60 69 74 60 20 74 65 6d 70 6f 72 61 72 the.local.variable.`it`.temporar
b52a0 69 6c 79 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c ily.bound.to.the.current.list.el
b52c0 65 6d 65 6e 74 20 69 6e 73 74 65 61 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 ement.instead...For.example:..``
b52e0 60 65 6c 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 `el.(-map.(lambda.(n).(*.n.n)).'
b5300 28 31 20 32 20 33 20 34 29 29 20 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d (1.2.3.4)).;.Normal.version..(--
b5320 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 20 20 20 20 20 20 map.(*.it.it).'(1.2.3.4)).......
b5340 20 20 20 20 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 60 60 60 0a 0a 54 68 ....;.Anaphoric.version..```..Th
b5360 65 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 20 6f 66 20 63 6f 75 72 73 65 20 61 e.normal.version.can.of.course.a
b5380 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 60 60 60 65 lso.be.written.as.follows:..```e
b53a0 6c 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 75 72 6e l.(defun.my-square.(n)..."Return
b53c0 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 2a 20 6e .N.multiplied.by.itself."...(*.n
b53e0 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 .n))..(-map.#'my-square.'(1.2.3.
b5400 34 29 29 0a 60 60 60 0a 0a 54 68 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 4)).```..This.demonstrates.the.u
b5420 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 5b 5b 20 66 75 6e 63 tility.of.both.versions..[[.func
b5440 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 0a 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 73 20 5d tion-list.]]..[[.function-docs.]
b5460 5d 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e ].##.Contribute..Yes,.please.do.
b5480 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e ..Pure.functions.in.the.list.man
b54a0 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 ipulation.realm.only,.please...T
b54c0 68 65 72 65 27 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 here's.a.suite.of.examples/tests
b54e0 20 69 6e 20 60 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 60 2c 20 73 6f 0a 72 65 6d 65 6d 62 .in.`dev/examples.el`,.so.rememb
b5500 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f er.to.add.tests.for.your.additio
b5520 6e 73 2c 20 6f 72 20 49 20 6d 69 67 68 74 20 62 72 65 61 6b 20 74 68 65 6d 20 6c 61 74 65 72 2e ns,.or.I.might.break.them.later.
b5540 0a 0a 59 6f 75 27 6c 6c 20 66 69 6e 64 20 74 68 65 20 72 65 70 6f 20 61 74 3a 0a 0a 20 20 20 20 ..You'll.find.the.repo.at:......
b5560 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e https://github.com/magnars/dash.
b5580 65 6c 0a 0a 52 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b el..Run.the.tests.with:......mak
b55a0 65 20 63 68 65 63 6b 0a 0a 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 e.check..Regenerate.the.docs.wit
b55c0 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 20 64 6f 63 73 0a 0a 49 20 68 69 67 68 6c 79 20 72 65 63 6f h:......make.docs..I.highly.reco
b55e0 6d 6d 65 6e 64 20 74 68 61 74 20 79 6f 75 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 61 73 20 mmend.that.you.install.these.as.
b5600 61 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 0a 74 68 61 74 20 74 68 65 20 74 a.pre-commit.hook,.so.that.the.t
b5620 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 ests.are.always.running.and.the.
b5640 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 20 63 70 docs.are.always.in.sync:......cp
b5660 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 .dev/pre-commit.sh..git/hooks/pr
b5680 65 2d 63 6f 6d 6d 69 74 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 60 52 45 e-commit..Oh,.and.don't.edit.`RE
b56a0 41 44 4d 45 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 2e 74 65 78 69 60 20 64 69 72 65 63 74 6c 79 ADME.md`.or.`dash.texi`.directly
b56c0 3b 20 74 68 65 79 20 61 72 65 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 43 68 61 6e ;.they.are.auto-generated...Chan
b56e0 67 65 20 60 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 ge.`readme-template.md`.or.`dash
b5700 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 60 0a 69 6e 73 74 65 61 64 2c 20 72 65 73 70 65 63 74 -template.texi`.instead,.respect
b5720 69 76 65 6c 79 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 60 64 61 73 68 2e 65 6c 60 ively...To.ensure.that.`dash.el`
b5740 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 .can.be.distributed.with.GNU.ELP
b5760 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 A.or.Emacs,.we.require.that.all.
b5780 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f contributors.assign.copyright.to
b57a0 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 .the.Free.Software.Foundation...
b57c0 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 73 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 For.more.on.this,.see.[`(info."(
b57e0 65 6d 61 63 73 29 20 43 6f 70 79 72 69 67 68 74 0a 41 73 73 69 67 6e 6d 65 6e 74 22 29 60 5d 28 emacs).Copyright.Assignment")`](
b5800 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d https://gnu.org/software/emacs/m
b5820 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 68 74 2d anual/html_node/emacs/Copyright-
b5840 41 73 73 69 67 6e 6d 65 6e 74 2e 68 74 6d 6c 29 2e 0a 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 6f Assignment.html)...##.Contributo
b5860 72 73 0a 0a 2d 20 5b 4d 61 74 75 73 20 47 6f 6c 6a 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 rs..-.[Matus.Goljer](https://git
b5880 68 75 62 2e 63 6f 6d 2f 46 75 63 6f 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 hub.com/Fuco1).contributed.lots.
b58a0 6f 66 20 66 65 61 74 75 72 65 73 20 61 6e 64 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 5b of.features.and...functions..-.[
b58c0 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 Takafumi.Arakaki](https://github
b58e0 2e 63 6f 6d 2f 74 6b 66 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 67 72 6f 75 70 2d 62 79 .com/tkf).contributed.`-group-by
b5900 60 2e 0a 2d 20 5b 74 61 6c 69 37 31 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f `..-.[tali713](https://github.co
b5920 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 60 2d 61 70 m/tali713).is.the.author.of.`-ap
b5940 70 6c 69 66 79 60 2e 0a 2d 20 5b 56 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 plify`..-.[V..ctor.M..Valenzuela
b5960 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 29 20 63 6f 6e 74 72 ](https://github.com/vemv).contr
b5980 69 62 75 74 65 64 20 60 2d 72 65 70 65 61 74 60 2e 0a 2d 20 5b 4e 69 63 20 46 65 72 72 69 65 72 ibuted.`-repeat`..-.[Nic.Ferrier
b59a0 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 ](https://github.com/nicferrier)
b59c0 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 6f 6e 73 2a 60 2e 0a 2d 20 5b 57 69 6c 66 72 65 .contributed.`-cons*`..-.[Wilfre
b59e0 64 20 48 75 67 68 65 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c d.Hughes](https://github.com/Wil
b5a00 66 72 65 64 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6c 69 63 65 60 2c 0a 20 20 60 2d fred).contributed.`-slice`,...`-
b5a20 66 69 72 73 74 2d 69 74 65 6d 60 2c 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 2e 0a 2d first-item`,.and.`-last-item`..-
b5a40 20 5b 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .[Emanuel.Evans](https://github.
b5a60 63 6f 6d 2f 73 68 6f 73 74 69 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 66 2d 6c 65 74 com/shosti).contributed.`-if-let
b5a80 60 2c 20 60 2d 77 68 65 6e 2d 6c 65 74 60 2c 0a 20 20 61 6e 64 20 60 2d 69 6e 73 65 72 74 2d 61 `,.`-when-let`,...and.`-insert-a
b5aa0 74 60 2e 0a 2d 20 5b 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f t`..-.[Johan.Andersson](https://
b5ac0 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 github.com/rejeep).contributed.`
b5ae0 2d 73 75 6d 60 2c 20 60 2d 70 72 6f 64 75 63 74 60 2c 0a 20 20 61 6e 64 20 60 2d 73 61 6d 65 2d -sum`,.`-product`,...and.`-same-
b5b00 69 74 65 6d 73 3f 60 2e 0a 2d 20 5b 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 5d 28 68 74 74 items?`..-.[Christina.Whyte](htt
b5b20 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e ps://github.com/kurisuwhyte).con
b5b40 74 72 69 62 75 74 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 2e 0a 2d 20 5b 53 74 65 76 65 20 4c 61 tributed.`-compose`..-.[Steve.La
b5b60 6d 62 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 mb](https://github.com/steventla
b5b80 6d 62 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 61 64 60 mb).contributed.`-cycle`,.`-pad`
b5ba0 2c 0a 20 20 60 2d 61 6e 6e 6f 74 61 74 65 60 2c 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 2c 20 61 6e ,...`-annotate`,.`-zip-fill`,.an
b5bc0 64 20 61 20 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 7a 69 70 60 2e 0a d.a.variadic.version.of.`-zip`..
b5be0 2d 20 5b 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 -.[Fredrik.Bergroth](https://git
b5c00 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 60 2d 69 66 hub.com/fbergroth).made.the.`-if
b5c20 2d 6c 65 74 60 20 66 61 6d 69 6c 79 20 75 73 65 0a 20 20 60 2d 6c 65 74 60 20 64 65 73 74 72 75 -let`.family.use...`-let`.destru
b5c40 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 20 73 63 72 69 70 74 20 cturing.and.improved.the.script.
b5c60 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2d 20 for.generating.documentation..-.
b5c80 5b 4d 61 72 6b 20 4f 74 65 69 7a 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d [Mark.Oteiza](https://github.com
b5ca0 2f 68 6f 6c 6f 6d 6f 72 70 68 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 6f 74 61 60 20 /holomorph).contributed.`-iota`.
b5cc0 61 6e 64 0a 20 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e and...the.script.to.create.an.In
b5ce0 66 6f 20 6d 61 6e 75 61 6c 2e 0a 2d 20 5b 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d fo.manual..-.[Vasilij.Schneiderm
b5d00 61 6e 6e 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 ann](https://github.com/wasamasa
b5d20 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6f 6d 65 60 2e 0a 2d 20 5b 57 69 6c 6c 69 61 ).contributed.`-some`..-.[Willia
b5d40 6d 20 57 65 73 74 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 m.West](https://github.com/occid
b5d60 65 6e 73 29 20 6d 61 64 65 20 60 2d 66 69 78 66 6e 60 20 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 ens).made.`-fixfn`.more.robust.a
b5d80 74 0a 20 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 2d 20 5b 43 61 6d 20 53 61 75 6c t...handling.floats..-.[Cam.Saul
b5da0 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f ](https://github.com/camsaul).co
b5dc0 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c ntributed.`-some->`,.`-some->>`,
b5de0 20 61 6e 64 0a 20 20 60 2d 73 6f 6d 65 2d 2d 3e 60 2e 0a 2d 20 5b 42 61 73 69 6c 20 4c 2e 20 43 .and...`-some-->`..-.[Basil.L..C
b5e00 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ontovounesios](https://github.co
b5e20 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 60 2d 63 m/basil-conto).contributed...`-c
b5e40 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 2c 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 2c ommon-prefix`,.`-common-suffix`,
b5e60 20 61 6e 64 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e .and.various.other.improvements.
b5e80 0a 2d 20 5b 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 .-.[Paul.Pogonyshev](https://git
b5ea0 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 65 hub.com/doublep).contributed.`-e
b5ec0 61 63 68 2d 72 60 20 61 6e 64 0a 20 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a 0a 54 ach-r`.and...`-each-r-while`...T
b5ee0 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 hanks!..New.contributors.are.ver
b5f00 79 20 77 65 6c 63 6f 6d 65 2e 20 20 53 65 65 20 74 68 65 0a 5b 60 43 6f 6e 74 72 69 62 75 74 65 y.welcome...See.the.[`Contribute
b5f20 60 5d 28 23 63 6f 6e 74 72 69 62 75 74 65 29 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 2e 0a 0a `](#contribute).section.above...
b5f40 23 23 20 4c 69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 2d 32 ##.License..Copyright.(C).2012-2
b5f60 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 025.Free.Software.Foundation,.In
b5f80 63 2e 0a 0a 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 c...Author:.Magnar.Sveen.<magnar
b5fa0 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 s@gmail.com>..This.program.is.fr
b5fc0 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 ee.software:.you.can.redistribut
b5fe0 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 68 65 20 e.it.and/or.modify.it.under.the.
b6000 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 terms.of.the.GNU.General.Public.
b6020 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 License.as.published.by.the.Free
b6040 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 .Software.Foundation,.either.ver
b6060 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 28 61 74 20 79 6f sion.3.of.the.License,.or.(at.yo
b6080 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 ur.option).any.later.version...T
b60a0 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 his.program.is.distributed.in.th
b60c0 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 62 e.hope.that.it.will.be.useful,.b
b60e0 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 ut.WITHOUT.ANY.WARRANTY;.without
b6100 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 .even.the.implied.warranty.of.ME
b6120 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 RCHANTABILITY.or.FITNESS.FOR.A.P
b6140 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 47 4e 55 20 ARTICULAR.PURPOSE...See.the.GNU.
b6160 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 General.Public.License.for.more.
b6180 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 details...You.should.have.receiv
b61a0 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ed.a.copy.of.the.GNU.General.Pub
b61c0 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 lic.License.along.with.this.prog
b61e0 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 ram...If.not,.see.<https://www.g
b6200 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 nu.org/licenses/>...............
b6220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b62a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b62c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b62e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b63a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b63c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b63e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6400 64 61 73 68 2d 32 2e 32 30 2e 30 2f 2e 65 6c 70 61 69 67 6e 6f 72 65 00 00 00 00 00 00 00 00 00 dash-2.20.0/.elpaignore.........
b6420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
b6480 30 30 30 30 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 37 33 00 20 30 00 00 00 0000006.00000000000.013273..0...
b64a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b64c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b64e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
b6520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
b6540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b65a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b65c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b65e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6600 64 65 76 2f 2a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dev/*...........................
b6620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b66a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b66c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b72a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b72c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b72e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b73a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b73c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b73e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b74a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b74c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b74e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b75a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b75c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b75e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b76a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b76c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b76e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b77a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b77c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b77e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b78a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b78c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b78e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b79a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b79c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b79e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b80a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b80c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b80e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b81a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b81e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b83a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b83c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b83e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b84a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b84c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b84e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b85a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b85c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b85e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b86a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b86c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b86e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b87a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b87c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b87e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b88a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b88c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b88e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b89a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b89c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b89e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................